Ferramentas - CASE
Ferramentas - CASE
APRENDIZAGEM EM FOCO
CASE: AS PRINCIPAIS
FERRAMENTAS NO CICLO
DE DESENVOLVIMENTO
DE SOFTWARES
APRESENTAÇÃO DA DISCIPLINA
Autoria: André Olímpio
Leitura crítica: Marcilyanne Moreira Gois
Caro aluno,
2
Cada uma dessas ferramentas possui necessidades distintas
que exigem muita dedicação e compreensão por parte dos
profissionais de Tecnologia da Informação envolvidos neste
ciclo, tendo em vista que os sistemas atuais estão cada vez mais
robustos e complexos, os usuários estão mais exigentes e a
tecnologia não para de evoluir.
INTRODUÇÃO
3
TEMA 1
Ferramentas para o
desenvolvimento de softwares
INÍCIO
______________________________________________________________
Autoria: André Olímpio
Leitura crítica: Marcilyanne Gois
TEMA 1
TEMA 2
TEMA 3
TEMA 4
DIRETO AO PONTO
5
sua concepção até o momento em que este se tornar obsoleto e
necessitar de atualização ou ser substituído por um novo. Este tipo
de ferramenta dará suporte aos profissionais, permitindo que o
software seja visualizado de diferentes perspectivas em diferentes
etapas do processo de seu desenvolvimento. O termo Case
significa “Computer Aided Software Engineering”, que em português
é “Engenharia de Software auxiliada por computador”.
6
Figura 1 - Requisitos – Visão geral
Referências bibliográficas
7
PARA SABER MAIS
8
Segundo Barreto (1997), a certificação é a emissão de um
documento oficial indicando a conformidade com esta
determinada norma ou padrão. É necessário realizar todo um
processo de avaliação e julgamento de acordo com a norma
em questão e assim aferir qualidade, seja em um produto, um
serviço ou mesmo no processo de desenvolvimento.
Referências bibliográficas
TEORIA EM PRÁTICA
9
Lorem ipsum dolor sit amet
fornecer aos munícipes um aplicativo pelo qual eles poderão
creditar valores via cartão de crédito e utilizá-los para realizar
pagamentos dos minutos utilizados quando estacionarem seus
Autoria: Nome do autor da disciplina
carros pelas ruas do centro da cidade e bairros adjacentes.
Leitura crítica: Nome do autor da disciplina
Quais seriam os requisitos funcionais e não funcionais deste
sistema? Como você utilizaria as ferramentas Case para auxiliá-
lo na modelagem e estruturação do software? Quais e de que
tipo seriam as integrações com outros sistemas que seriam
necessárias para atender a demanda deste problema?
LEITURA FUNDAMENTAL
Indicações de leitura
Indicação 1
10
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBRISO/IEC25020.
Engenharia de software. Requisitos e avaliação da qualidade de
produto de software (SQuaRE). Guia e modelo de referência para
medição. Mar. 2009.
Indicação 2
QUIZ
11
1. O que é ferramenta Case?
12
GABARITO
Questão 1 - Resposta B
Resolução: A sigla Case significa em português “Engenharia
de Software Auxiliada por Computador”, portanto, uma
ferramenta deste tipo serve para ajudar um profissional de TI
a empregar os diversos conceitos de engenharia de software
em seu dia a dia de trabalho.
Questão 2 - Resposta A
Resolução: Um requisito funcional deve atender as regras de
negócio, que definem a descrição de um problema específico
que o software irá resolver. Para isso será criada uma
funcionalidade neste software com o objetivo de resolver
este problema.
13
TEMA 2
INÍCIO
______________________________________________________________
Autoria: André Olímpio
Leitura crítica: Marcilyanne Gois
TEMA 1
TEMA 2
TEMA 3
TEMA 4
DIRETO AO PONTO
15
Case que apresenta uma interface de implementação de código-fonte
que permite a utilização de diferentes linguagens de programação no
mesmo sistema.
Linguagem
• C#
de
Programação • Delphi
(DESKTOP)
• C++
Linguagem
• PHP
de
Programação • ASP
(WEB)
• JavaScript
Linguagem
de
• Java
• Swift
Programação
(MOBILE)
16
Um dos melhores conceitos utilizados para modelagem é a UML,
uma linguagem específica para este tipo de ação, que apresenta
diagramas que possibilitam ao desenvolvedor ter esta abstração
de diferentes perspectivas, já que cada um destes diagramas foi
criado exatamente com este intuito.
17
específicas para se cumprir todos os trâmites necessários para
esta etapa do ciclo de desenvolvimento de software. Dentre estas
destacam-se o NetBeans, o Eclipe IDE e o Microsoft Visio.
18
Referências bibliográficas
19
O XML Schema (1999) refere-se a uma linguagem voltada para
definição de regras de validação, chamadas de esquemas, gerando
assim documentos no formato XML. Este modelo foi amplamente
utilizado no desenvolvimento do sistema da nota fiscal eletrônica
no Brasil (NF-e) e tem como output um arquivo chamado XSD
(XML Schema Definition) (2001) contendo as definições além das
declarações existentes neste esquema.
20
Referências bibliográficas
TEORIA EM PRÁTICA
21
Para conhecer a resolução comentada proposta pelo
professor, acesse a videoaula deste Teoria em Prática no
ambiente de aprendizagem.
LEITURA FUNDAMENTAL
Indicações de leitura
Indicação 1
Indicação 2
22
software conhecer e se aprofundar no conceito de modelagem,
ou seja, a estruturação deste sistema com objetivo de ampliar
a visão para ele, e para isso construir diagramas da UML que
darão a possibilidade de enxergar este software por meio de
pontos de vistas diferentes e consequentemente abstrações
distintas. Com base neste pensamento, fica sugerido um texto
do Capítulo 4 (página 42 a 59) do livro citado, que explica de
maneira bem clara e completa para enriquecer o entendimento
do conceito de modelagem. Para realizar a leitura deste
texto, acesse a plataforma Biblioteca Virtual 3.0 disponível na
Biblioteca Virtual da Kroton.
QUIZ
Prezado aluno, as questões do Quiz têm como propósito a
verificação de leitura dos itens Direto ao Ponto, Para Saber
Mais, Teoria em Prática e Leitura Fundamental, presentes
neste Aprendizagem em Foco.
23
a. Uma ferramenta de gerenciamento de projetos que
permite fazer um cronograma de tarefas a serem
realizadas, colocando-as em ordem e atribuindo
prioridade de execução.
b. Uma ferramenta exclusiva para modelagem de banco de
dados.
c. Uma ferramenta que permite entre outras coisas a
criação de códigos-fonte de diferentes linguagens de
programações em um sistema por meio de uma única
interface.
d. Uma ferramenta de controle de testes e versionamento
de um sistema de software, utilizando linguagem de
programação Java e PHP.
e. Uma ferramenta de controle de acesso a dados em uma
área restrita de uma rede local ou pública, permitindo
inclusive o bloqueio de acesso em caso de suspeita de
quebra de segurança.
24
e. Criar uma estrutura de registros de ações do usuário em
um sistema operacional.
GABARITO
Questão 1 - Resposta C
Resolução: IDE é uma ferramenta com foco em
programação, que permite criar códigos em diferentes
linguagens e utilizá-los no mesmo sistema de software.
Questão 2 - Resposta C
Resolução: Este tipo de ferramenta Case deve gerar
uma estrutura que irá direcionar toda a implementação
do software, modelando os itens que se tornarão as
funcionalidades deste sistema, que são baseadas nos
requisitos dele.
25
TEMA 3
INÍCIO
desenvolvimento de software
______________________________________________________________
Autoria: André Olímpio
Leitura crítica: Marcilyanne Gois
TEMA 1
TEMA 2
TEMA 3
TEMA 4
DIRETO AO PONTO
Engenharia
de Software
Métodos de
Inteligência
Orientação à
Artificial
Objetos
Desenvolvimento
de Software
Banco de Métodos
Dados Ágeis
27
Esta arquitetura remete ao entendimento de que é necessário
compreender, além dos requisitos do sistema, todos os fatores
que permeiam este software, tendo em vista que estes fatores
podem ter incidência direta nos resultados obtidos por meio das
funcionalidades implementadas neste sistema (HUMBLE; FARLEY,
2013).
28
pelos profissionais de TI envolvidos neste processo. Fatores como
controle de versionamento, monitoramento de tarefas, controle
de cronograma, gerenciamento de custos e correção de bugs
fazem parte da lista de incumbências das quais estes profissionais
terão que lidar durante a criação do sistema de software.
29
(schedule), código-fonte e além disso tem portabilidade com o
GitHub, que também é administrado pela Microsoft.
Referências bibliográficas
EASY REDMINE. EasyRedmine: gerenciador online de projetos
de software. Easy Software Ltd, 2018. Disponível em: http://www.
easyredmine.com. Acesso em: 5 maio 2020.
30
PARA SABER MAIS
31
acessados de forma distribuída, ou seja, não necessariamente
no mesmo local físico. O SVN é voltado para uma estrutura de
armazenamento centralizada.
Referências bibliográficas
AnkhSVN Windows: Ferramenta de subversão. Microsoft, 2014.
Disponível em: http://www.ankhsvn.net. Acesso em: 4 maio 2020.
32
MACAPPSTORE. svnX: subversion tool plug-in for MacOS. Apple, 2014.
Disponível em: http://www.macappstore.com. Acesso em: 5 maio 2020.
TEORIA EM PRÁTICA
33
Para conhecer a resolução comentada proposta pelo
professor, acesse a videoaula deste Teoria em Prática no
ambiente de aprendizagem.
LEITURA FUNDAMENTAL
Indicações de leitura
Indicação 1
34
Indicação 2
QUIZ
35
Para as avaliações virtuais e presenciais, as questões serão
elaboradas a partir de todos os itens do Aprendizagem em
Foco e dos slides usados para a gravação das videoaulas,
além de questões de interpretação com embasamento no
cabeçalho da questão.
36
b. Gerenciar o acesso de usuários ao sistema de controle de
versões, mapear as unidades de rede existentes no software,
monitorar a gestão da qualidade, integrar múltiplos sistemas
e direcionar o conteúdo de dados relacionados à gestão de
controle científico.
c. Monitorar o controle de versionamento de arquivos, acessar
internet banda larga de alto desempenho, registrar os dados
dos clientes em ambiente de rede, gerenciar o conteúdo
exibido na interface com o usuário final da aplicação e
modelagem do sistema por meio de diagramas da UML.
d. Efetuar o controle de entrada e saída de dados no ambiente
de rede local, garantir a qualidade do processo de execução do
software, controlar as tarefas realizadas pelos integrantes da
equipe de desenvolvimentos e monitorar as funcionalidades
de DevOps utilizadas na arquitetura do sistema.
e. Analisar a compatibilidade dos dados em ambiente de
rede, garantir a qualidade dos processos no ciclo de
desenvolvimento, gerenciar o trabalho colaborativo, controlar
as versões do código-fonte, gerenciar o acesso a dados
restritos e monitorar os usuários do sistema após implantação.
GABARITO
Questão 1 - Resposta D
Resolução: A arquitetura integrada refere-se à junção de
conceitos de desenvolvimento, engenharia de software,
banco de dados, inteligência artificial, além de métodos de
orientação a objetos e ágeis, com a finalidade de resolver
os problemas mais complexos e desafiadores existentes no
mundo real atualmente.
37
Questão 2 - Resposta A
Resolução: Uma ferramenta Case de gestão de projeto de
software deve ser capaz de fazer todas as ações necessárias
para que esta gestão ocorra de forma eficiente. Essas ações
são: controle de versionamento de código-fonte, monitorar
as tarefas da equipe de desenvolvimento, controlar o
cronograma, gerenciar custos e efetuar correção de bugs.
38
TEMA 4
INÍCIO
desenvolvimento de software
______________________________________________________________
Autoria: André Olímpio
Leitura crítica: Marcilyanne Gois
TEMA 1
TEMA 2
TEMA 3
TEMA 4
DIRETO AO PONTO
40
específicas. Quando esta situação ocorre, o software pode ter seu
funcionamento interrompido, o que caracteriza uma falha.
• Apresentação de resultados.
41
tecnologias necessárias para tal. A construção dos scripts refere-se
à criação de tarefas a serem realizadas neste ambiente de teste, e
a execução nada mais é do que a aplicação prática destas tarefas.
E por fim, há a necessidade de apresentar os resultados obtidos e
fazer a documentação deles.
Referências bibliográficas
NOGUEIRA, J. H. M. Engenharia de software: métodos orientados
a objetos e ágeis. Fortaleza, CE: Amazon KDP, 2018.
42
PARA SABER MAIS
43
Durante o cumprimento destas fases, é necessário que sejam
realizados testes de verificação de cumprimento de requisitos e
consequentemente a atualização da documentação para avaliar as
partes modificadas e acrescentadas no código.
Referências bibliográficas
FABRIS, P. P. G.; PERINI, L. C. Processos de software. 1. ed.
Londrina: Editora e Distribuidora Educacional S.A., 2014.
44
TEORIA EM PRÁTICA
Reflita sobre a seguinte situação: um empresário do ramo
de venda de roupas possui um sistema e-commerce de loja
virtual hospedado em seu website. Neste sistema existe uma
estrutura de controle de fraudes em transações eletrônicas.
Houve uma tentativa externa de acesso a esta estrutura do site.
Aparentemente o software continua funcionando normalmente
com exceção ao fato de haver problemas de conexão com dois
dos três bancos nos quais a loja possui conta corrente utilizadas
no processo de vendas online. Este comportamento incomum
passou a acontecer após a tentativa de invasão. O empresário
então entra em contato e deseja lhe contratar para verificar o
funcionamento do sistema. Quais seriam as ferramentas Case
adequadas para fazer este trabalho? Seguindo o ciclo de execução
de caso de teste, elabore um test case para esta situação.
LEITURA FUNDAMENTAL
Indicações de leitura
Indicação 1
45
maneira bem clara e completa para enriquecer o entendimento
do conceito testes de software. Para realizar a leitura deste
texto, acesse a plataforma Biblioteca Virtual 3.0 disponível na
Biblioteca Virtual da Kroton.
Indicação 2
46
QUIZ
47
2. A estrutura de execução de casos de testes é composta
por etapas que servem para definir, escrever, executar
e documentar cada teste realizado no sistema de
software. Sobre estas etapas, é possível afirmar que:
GABARITO
Questão 1 - Resposta B
Resolução: O código que apresenta algum defeito lógico,
pode gerar, ao ser executado em uma situação específica,
um estado de erro a um sistema. Este erro pode gerar uma
falha deste, ou seja, quando este sistema simplesmente trava
durante seu processo de execução. O objetivo é tratar os
48
códigos defeituosos para que estes não se transformem em
um erro e, consequentemente, este erro se torne uma falha.
Questão 2 - Resposta D
Resolução: O primeiro passo é determinar o caso de teste,
definindo o que deverá ser realizado neste processo. Após
isso, criar um ambiente de execução destes testes, definindo
as tecnologias a serem utilizadas. Os scripts são as tarefas
a serem realizadas e a execução seria a aplicação prática de
cada uma destas tarefas. Por fim, os resultados devem ser
apresentados e devidamente documentados.
49