Você está na página 1de 12

ENGENHARIA DE SOFTWARE II

Ma. Simone Maria Viana Romano

PORQUE ESTUDAR ENGENHARIA DE SOFTWARE

Figura 1 - Reunião de Projeto de Engenharia de Software (Extraído Web)

O(a) Analista de Requisitos é responsável por atuar com análise de


requisitos, sejam eles funcionais, não-funcionais, de usuários, dos clientes e
análise de negócio. Ele também deverá realizar a especificação e análise de
sistemas e especificações funcionais para o desenvolvimento de
software. Ele(a) também é quem desenvolve os mapas de processos de
negócio que possibilitam a identificação e monitoramento de riscos de TI.
Além disso, acompanha o desempenho de processos, controlando,
otimizando e verificando se cumprem os padrões necessários para a
realização de projetos. Por fim, o(a) Analista de Requisitos documenta os
processos, relatando possíveis falhas para realizar ações preventivas nas
próximas etapas, e treinando equipes de TI para garantir a qualidade.
Este profissional é extremamente importante para garantir a qualidade de
processos e projetos, atuando juntamente com o Analista de Testes, QA e
Gerente de Projetos.

PERFIL E CARACTERÍSTICAS DO PROFISSIONAL

Para este(a) profissional, é indispensável ter conhecimento em


alguma linguagem de programação. As mais requisitadas são C#, Java e
desenvolvimento para mobile, seja ele nativo ou não. Além de uma ótima
lógica de programação, domínio de modelagem de dados, arquitetura de
serviços, APIs banco de dados e documentação.
Entre as características principais, destacam-se:
• Vontade de aprender e evoluir;
• Raciocínio lógico;
• Empatia
• Competência comunicativa;
• Resolução de conflitos;

1
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

• Moderação;
• Autoconfiança;
• Persuasão
• Vontade de aprender;
• Organização e proatividade;
• Comprometimento com prazos e qualidade de projetos.

• Outro requisito comum é a graduação nas áreas:


o Sistemas de Informação;
o Ciências da Computação;
o Engenharia de Software;
o Engenharia da Computação;
o Análise e Desenvolvimento de Sistemas ou afins;
• Experiência na área,
• Domínio de Pacote office;
• Inglês avançado;
• Capacidade de abstrair;
• Psicólogo para os usuários, escutá-los, entender o perfil do usuário,
saber conversar, mas não deixar de ser objetivo. Durante o
levantamento de requisitos, deve enxergar possíveis problemas,
impactos, conexões com outros sistemas existentes;
• Envolver os outros participantes, ter empatia, isso tudo para conseguir
perceber os detalhes não ditos que farão toda a diferença no produto
final;
• Perceber as sutilezas do comportamento do outro e extrair o desejo de
um usuário muitas vezes frustrado com sistemas que não funcionam é
bem complicado. O quanto antes os problemas forem detectados será
mais barato e mais fácil resolvê-los. Detectar os problemas apenas no
desenvolvimento é algo que deve ser minimizado, pois pode levar a
desentendimentos;
• Ser analítico e organizado é primordial para conseguir gerir várias
tarefas. Citado várias habilidades necessárias para desempenhar essa
função confirma a frase que diz que essa função é muito mais que
automatizar tarefas e sim, prover soluções de negócio.

COMPETÊNCIAS (JOB)

Há uma integração muito importante que se inicia com o analista de


requisitos. Ao identificar as necessidades do negócio e definir os requisitos,
escrever as especificações, modelar os requisitos, coordenar a validação e
gerenciar os requisitos, permite ao gerente de projetos estimar, aos
desenvolvedores projetar e construir, e aos testadores testar o produto. É
o principal responsável pelo fluxo de requisitos entre os clientes e a equipe
de desenvolvimento de software, e, coletar e disseminar as informações do
produto.

2
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

Figura 2 - Atividades Realizadas na Área de Requisitos (Extraído WEB)

A atuação de um analista de requisitos inclui a elicitação dos


requisitos, ou seja, comunicar-se com os usuários e clientes para
determinar quais são os requisitos do sistema; a análise de requisitos, ou
seja, analisar os requisitos levantados e determinar se são obscuro,
incompleto, ambíguo, contraditório e torná-lo útil ou excluí-lo, ou então,
implementá-lo; documentação dos requisitos, ou seja, documentar os
requisitos ou como documentos de linguagem natural, casos de uso, ou
processo de especificação.
Utilizar das técnicas e ferramentas para levantamento de requisitos
focado em tornar mensurável o objetivo individual de cada requisito e,
integrar todos os requisitos com objetivo do produto-final que é o software
em desenvolvimento. Ferramentas essas que permitem registrar as
necessidades do cliente; derivar quais funcionalidades serão efetivamente
implementadas no software; derivar as funcionalidades em casos de uso;
gerenciar os casos de uso em níveis de priorização e o estado em que se
encontram: ora em análise, ora em implementação, ora implementado;
desenhar protótipo de telas e associá-lo aos casos de uso; acessibilidade
para que o cliente possa validar os casos de uso e protótipos de interface
visual; gerar relatórios gerenciais como: total de casos de uso por estado,
por priorização, rastreabilidade do caso de uso.

CERTIFICAÇÃO

Para exercer a função, há a necessidade de fazer uma certificação


adequada a Analista de Requisitos. A mais conhecida é a certificação
Engenharia de Requisitos da IREB (International Requirements Engineering
Board ).
3
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

Criada em 2006 com a visão de criar uma base internacionalmente


aceita de profissionalização da disciplina Engenharia de Requisitos, de
forma a dar importância e orientação correspondente ao seu valor para a
indústria.
Em 2011 foi criado o IREB Brazilian Group, que desenvolveu a versão
em português (Brasil) do Syllabus e Glossário. Este grupo está empenhado
em divulgar os programas de certificação em todos os seus níveis, tanto
para Comunidade de Engenharia de Requisitos (ER), quanto para
universidades e centros de excelência em ER.
O Certified Professional for Requirements Engineering (CPRE) é um
certificado pessoal destinado a indivíduos que trabalham em Engenharia de
Requisitos, Análise de Negócios e Testes.
O sistema de certificação é desenvolvido pelo IREB, os conteúdos
são ministrados por prestadores de treinamento independentes e o exame
CPRE pode ser realizado em organismos de certificação aprovados (como a
ABRAMTI). O certificado nunca expira e possui validade internacional. Há
mais de 7000 profissionais certificados no mundo.

Figura 3 - Tipos de Certificação (ABRAMTI)

• Fundamental: O CPRE-FL cobre os fundamentos, metodologias e


técnicas disponíveis da Engenharia de Requisitos. Não existem pré-
requisitos para candidatar-se.
• Avançado: O CPRE-AL certifica o domínio e utilização dos métodos e
técnicas da disciplina. Há três opções para alcançar um certificado de
Nível Avançado:
o Elicitação de requisitos e Consolidação (Inglês e Alemão);
o Modelagem de Requisitos (Inglês e Alemão);
o Gerenciamento de Requisitos (Alemão).
o Para se candidatar é necessário ter o nível fundamental concluído com
êxito.
• Especialista: O nível de peritos está em fase de planejamento.

4
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

CONTEÚDO DO EXAME

O conteúdo avaliado é definido pelo Syllabus e Glossário de Termos


CPRE-FL, ambos disponíveis para download, em Inglês e Português, nos
websites do IREB e do IBQTS. Há também Livro “Guia de Estudo para
Fundamentos em Engenharia de Requisitos”, disponível em inglês e
português, sendo a versão traduzida fornecida no Brasil com exclusividade
pela T&M.
• Perfil do Certificando: Profissionais das áreas de Negócios,
Desenvolvimento de Software, Qualidade, Testes e Gerenciamento de
Projetos.
• Formato do Exame: Prova presencial, contendo 45 questões do tipo
múltipla escolha ou verdadeiro/falso, com pesos de um a três pontos e
duração de 75 minutos.
• Idiomas: Português, Inglês ou Espanhol.
• Aprovação: Devem ser obtidos pelo menos 60% dos pontos disponíveis.
• Valor do Exame: O valor para o exame de certificação é de R$ 590,00.
Para quem é estudante oferecemos desconto de 50% de desconto nos
exames de certificação. Entre em contato através do e-
mail contato@ibqts.com.br ou através do telefone (11) 4689-0355. Maiores
informações no site: http://www.ibqts.com.br.

MERCADO DE TRABALHO

O mercado de TI ainda tem muito o que amadurecer no país, mas as


empresas já estão começando a perceber a necessidade de analisar os
processos e gerenciar necessidades antes de começar um projeto.
Afinal, segundo o livro Software Testing, de Ron Patton, 60% dos bugs são
gerados por problemas de especificação.
Além disso, apenas 6% dos projetos de software de grande porte são
concluídos com sucesso no mundo todo, segundo o Chaos Report do grupo
Standish.
Enquanto isso, 52% dos projetos terminam com débito e 42% fracassam.
Todo esse prejuízo e problemas durante o desenvolvimento poderiam ser
prevenidos se fossem realizadas análises de requisitos e do projeto antes
da sua realização, além de documentações para prevenir falhas em projetos
futuros.
A tendência é que este profissional se torne cada vez mais necessário para
evitar prejuízos em projetos na área de TI.

5
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

PROFISSIONAL: ENGENHEIRO DE REQUISITOS

Um Engenheiro de Requisitos é a pessoa que identifica as necessidades por


trás das afirmações dos stakeholders, devendo aprimorá-las para que os
arquitetos e o desenvolvedores – geralmente leigos no que se refere ao
domínio em questão – possam compreender e implementar as mesmas. O
engenheiro de requisitos é, de certa forma, um tradutor que compreende o
domínio, bem como sua linguagem específica, suficientemente bem, e
também possui suficiente know-how de TI para estar a par dos problemas
com os quais os desenvolvedores se deparam e para conseguir comunicar-
se com eles no mesmo nível. Por esses motivos todos os engenheiros de
requisitos têm um papel central no projeto.
Para ser um engenheiro de requisitos é necessário ter sete capacidades:
• Autoconfiança: deve ter um alto nível de autoconfiança e a capacidade
de se defender em caso de fortes objeções em relação a suas opiniões,
jamais levando tais comentários coo uma crítica pessoal;
• Competência Comunicativa: facilita a elicitação de requisitos, a
interpretação e comunicação dos requisitos de maneira adequada, pois
precisa saber ouvir, fazer as perguntas certas na hora certa e perceber
quando as informações desejadas e fazer mais perguntas se necessário;
• Empatia: identifica as verdadeiras necessidades de um stakeholder. É
necessário ter uma boa intuição e demonstrar empatia por pessoas e
também identificar problemas que podem surgir dentro de um grupo de
stakeholder e agir conforme necessário;
• Moderação: deve ser capaz de atuar como mediador entre diferentes
opiniões e liderar discussões. Tanto em conversas individuais quanto
para discussões em grupos;
• Persuasão: deve ser capaz de representar os requisitos em reuniões de
equipe e apresentações, além de consolidar opiniões divergentes,
facilitar uma decisão em caso de discordância e cria consenso entre
stakeholders;
• Resolução de Conflitos: divergências de opinião entre stakeholders
frequentemente são causa de conflitos durante a engenharia de
requisitos. Ele deve saber identificar conflitos, atuar como mediador
entre as partes e aplicar as técnicas adequadas;
• Raciocínio Analítico: capacidade de familiarizar-se com domínios que
lhe sejam desconhecidos e deve compreender e analisar problemas e
relacionamentos complexos.

SALÁRIO

Um Engenheiro de Software Computacional Básico ganha em média R$


9.852,30 no mercado de trabalho brasileiro para uma jornada de trabalho
de 42 horas semanais de acordo com pesquisa do Salario.com.br junto a
dados oficiais do CAGED com um total de 982 salários.

6
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

A faixa salarial do Engenheiro de Software Computacional Básico CBO


2122-15 fica entre R$ 8.299,50 salário mediana da pesquisa e o teto
salarial de R$ 25.796,80, sendo que R$ 8.992,08 é a média do piso salarial
2020 de acordos, convenções coletivas e dissídios levando em conta
profissionais com carteira assinada em regime CLT de todo o Brasil.
O perfil profissional mais recorrente é o de um trabalhador com 29
anos, formação superior em Ciências da Computação, do sexo
masculino que trabalha 40h semanais em pequenas empresas do segmento
de Desenvolvimento de programas de computador e software em geral.
A cidade com mais ocorrências de contratações e por
consequência com mais vagas de emprego para Engenheiro de Software
Computacional Básico é São Paulo - SP.

SALÁRIO INICIAL PARA RECEM FORMADO

Dos 43 profissionais recém formados que realizaram a pesquisa, o


salário inicial é de R$ 7.697,02 mensais para uma jornada de trabalho de
42h semanais em média (2020)

Mais informações: https://www.salario.com.br/profissao/engenheiro-de-


software-computacional-basico-cbo-212215/ Acesso em: 02/07/2020

7
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

REVISÃO: ENGENHARIA DE SOFTWARE I

1)Em projeto de software, um Stakeholder representa:


A.Um conjunto de diagramas da UML.
B.Uma técnica de programação em pares.
C.Uma metodologia de testes de software.
D.Uma técnica aplicada para quantizar os riscos.
E.Indivíduos e organizações cujos interesses podem ser afetados pelo
projeto de software.

2)Segundo Pressman, os interessados (stakeholders) de um processo de


software podem ser categorizados em: gerentes seniores, gerentes
(técnicos) de projeto, programadores, clientes e usuários finais. Dentre
essas categorias, ___________ é a que reúne aqueles que devem ter
habilidades técnicas necessárias para desenvolver a engenharia de um
produto ou aplicativo de software. Assinale a alternativa que preenche
corretamente a lacuna do texto acima.
A.gerentes seniores
B.programadores
C.usuários finais
D.clientes
E.gerentes (técnicos) de projeto

3)___________ se preocupa com todos os aspectos do desenvolvimento de


sistemas computacionais, incluindo engenharia de hardware, software e
processo; e _________ é uma disciplina da engenharia que se preocupa
com todos aspectos da produção de software, desde os estágios iniciais
da especificação do sistema até sua manutenção, quando o sistema já
está sendo usado.
A.Engenharia de Domínio – Engenharia de Software
B.Engenharia Reversa – Engenharia de Sistemas
C.Engenharia de Sistemas – Engenharia de Domínio
D.Engenharia de Sistemas – Engenharia de Software
E.Engenharia Reversa – Engenharia de Domínio

4)Considere as seguintes afirmações sobre Princípios de Engenharia de


Software.
I - São utilizadas diferentes técnicas de engenharia de software para cada
tipo de sistema, porque cada software tem características bastante
diversas.
II - Uma característica fundamental de um sistema de software é a
eficiência, pois o software não deve desperdiçar os recursos do sistema,
como memória e ciclos do processador. Eficiência inclui capacidade de
resposta, tempo de processamento, uso da memória, etc.

8
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

III - Engenheiros de software não devem preocupar-se apenas com


questões técnicas, devendo se comportar de forma ética e moralmente
responsável, pois têm responsabilidades com a profissão de engenharia
e com a sociedade.
Quais estão corretas?
A.Apenas I.
B.Apenas I e II.
C.Apenas I e III.
D.Apenas II e III.
E.I, II e III.

5)A engenharia de software se concentra nos aspectos práticos da produção


de um sistema de software.
( )Certo ( )Errado

6)_____________ engloba processos, métodos e ferramentas que


possibilitam a construção de sistemas complexos, baseados em
computador, dentro do prazo e com qualidade.
A.A Engenharia de Software
B.O Projeto Orientado a Objetos
C.A Gestão Estratégica de TI
D.A Programação Orientada a Aspectos
E.A Análise Orientada a Aspectos

7)De acordo com a IEEE Engenharia de Software é a aplicação de uma


abordagem sistemática, __________ e quantificável no
desenvolvimento, _____________ e manutenção de softwares.
A.Disciplinada – operação.
B.Completa – implementação.
C.Incremental – documentação.
D.Estruturada – implantação.

8)A engenharia de software é uma área da computação que engloba as


linguagens de programação, bancos de dados, ferramentas e
plataformas, padrões, processos e também a qualidade de software.
Acerca desse tema, é correto afirmar que a engenharia de software
consiste no (a)
A.estudo das técnicas, das metodologias e dos instrumentos por meio de
modelos matemáticos e algoritmos para a área da computação.
B.forma de programação de computadores que preconiza que todos os
programas podem ser reduzidos às estruturas de sequência, decisão e
repetição.
C.sequência de passos para realizar uma tarefa ou resolver um problema,
utilizando recursos de sistemas de softwares.
D.utilização de princípios de engenharia para a especificação, o
desenvolvimento e a manutenção de sistemas de software.

9
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

E.representação gráfica do fluxo de dados por meio de um sistema de


informação, fornecendo a visão estruturada das funções.

9)As principais atividades de engenharia de software são especificação,


desenvolvimento, validação e evolução.
( ) Certo ( )Errado

10)A Engenharia de Software:


A.é uma área da computação que visa abordar de modo sistemático as
questões técnicas e não técnicas no projeto, implantação, operação e
manutenção no desenvolvimento de um software.
B.consiste em uma disciplina da computação que aborda assuntos
relacionados a técnicas para a otimização de algoritmos e elaboração
de ambientes de desenvolvimento.
C.trata-se de um ramo da TI que discute os aspectos técnicos e empíricos
nos processos de desenvolvimento de sistemas, tal como a definição
de artefatos para a modelagem ágil.
D.envolve um conjunto de itens que abordam os aspectos de análise de
mercado, concepção e projeto de software, sendo independente da
engenharia de um sistema.
E.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.

11)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.

12)A engenharia de software compreende um conjunto de etapas


comumente citadas como paradigmas de engenharia de software. No
tocante a essas etapas, assinale a opção correta.
A.Os procedimentos da engenharia de software constituem o elo que
mantém juntos os métodos e as ferramentas.
B.Os métodos de engenharia de software proporcionam os detalhes de
“o que fazer” para construir o software.
C.As ferramentas de engenharia de software proporcionam apoio
totalmente automatizado aos métodos.
D.Os procedimentos da engenharia de software garantem o
desenvolvimento dentro do prazo.

10
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

13)Assim como a Engenharia de Software, existe também na área de


informática a chamada Ciência da Computação. Assinale a alternativa que
melhor apresenta a diferença entre Engenharia de Software e Ciência da
Computação:
A.A Ciência da Computação tem como objetivo o desenvolvimento de
teorias e fundamentações. Já a Engenharia de Software se preocupa
com as práticas de desenvolvimento de software.
B.A Engenharia de Software trata da criação dos sistemas de computação
(softwares) enquanto a Ciência da Computação está ligada ao
desenvolvimento e criação de componentes de hardware.
C.A Engenharia de Software trata dos sistemas com base em
computadores, que inclui hardware e software, e a Ciência da
Computação trata apenas dos aspectos de desenvolvimento de
sistemas.
D.A Ciência da Computação trata dos sistemas com base em
computadores, que inclui hardware e software, e a Engenharia de
Software trata apenas dos aspectos de desenvolvimento de sistemas.
E.A Ciência da Computação destina-se ao estudo e solução para
problemas genéricos das áreas de rede e banco de dados e a
Engenharia de Software restringe- se ao desenvolvimento de sistemas.

14)Sobre a engenharia de software, considere:


I. Atualmente todos os problemas na construção de software de alta
qualidade no prazo e dentro do orçamento foram solucionados.
II. Ao longo dos últimos 50 anos, o software evoluiu de um produto de
indústria para um ferramental especializado em solução de problemas e
análise de informações específicas.
III. Todo projeto de software é iniciado por alguma necessidade do negócio.
IV. O intuito da engenharia de software é fornecer uma estrutura para a
construção de software com alta qualidade.
Está correto o que consta em:
A.III e IV, somente.
B.II e III, somente.
C.I, II e IV, somente.
D.II, III e IV, somente.
E.I, II, III e IV.

15)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.

11
ENGENHARIA DE SOFTWARE II
Ma. Simone Maria Viana Romano

TAREFA: REVISÃO ENGENHARIA DE SOFTWARE I

Executar o arquivo aula_OverviewRup.swf, onde através deste jogo RUP, é


possível aprender como atingir seus objetivos nos projetos de TI
gerenciando seu tempo e recursos, adquirindo sucesso profissional e
qualidade de vida.

Link: http://www.bicrosoft.com.br/unibr/simone/

12

Você também pode gostar