Portal IDEA

Básico de Analista de Sistemas

 BÁSICO DE ANALISTA DE SISTEMAS

 

Análise e Levantamento de Requisitos 

Introdução à Engenharia de Requisitos

 

A engenharia de requisitos é uma das etapas mais críticas no processo de desenvolvimento de sistemas de informação. Seu principal objetivo é garantir que o software ou sistema desenvolvido atenda às necessidades reais dos usuários e das partes interessadas. Um erro ou omissão na fase de levantamento de requisitos pode resultar em sistemas inadequados, retrabalho e perda de recursos. Neste texto, abordaremos os fundamentos da engenharia de requisitos, incluindo a definição de requisitos funcionais e não funcionais, além das principais técnicas de elicitação utilizadas pelos analistas.

1. Conceito de Requisito

Um requisito pode ser entendido como uma condição ou capacidade que um sistema deve possuir para satisfazer uma necessidade de negócio ou uma exigência de um usuário. Segundo Sommerville (2011), requisitos são "descrições dos serviços fornecidos por um sistema e das restrições sobre sua operação".

A engenharia de requisitos envolve um conjunto de atividades como:

  • Elicitação (levantamento);
  • Análise e negociação;
  • Documentação e especificação;
  • Validação e gerenciamento.

Essas atividades não ocorrem de forma isolada, mas sim de maneira iterativa e incremental ao longo do projeto.

2. Requisitos Funcionais e Não Funcionais

A categorização mais comum dos requisitos é a distinção entre funcionais e não funcionais.

a) Requisitos Funcionais

Os requisitos funcionais descrevem o que o sistema deve fazer. Representam os serviços, comportamentos ou funcionalidades esperadas. São diretamente relacionados às tarefas que o sistema deve executar, como:

  • “O sistema deve permitir o cadastro de novos usuários.”
  • “O sistema deve gerar relatórios financeiros mensais.”
  • “O sistema deve validar os dados de entrada antes do envio.”

Esses requisitos são, geralmente, derivados de necessidades dos usuários e regras de negócio. Devem ser claros, completos e consistentes para que os desenvolvedores possam implementá-los corretamente.

b) Requisitos Não Funcionais

Já os requisitos não funcionais descrevem como o sistema deve se comportar, ou seja, são restrições ou atributos de qualidade que devem ser observados durante o desenvolvimento. Exemplos incluem:

  • Desempenho: “O sistema deve processar uma solicitação em até dois segundos.”
  • Segurança: “O acesso aos dados deve
  • ser protegido por autenticação em dois fatores.”
  • Usabilidade: “A interface deve estar disponível em português e inglês.”
  • Portabilidade: “O sistema deve rodar em navegadores modernos.”

Embora não estejam ligados a funcionalidades específicas, os requisitos não funcionais têm impacto direto na experiência do usuário e na qualidade do produto. Em muitos casos, são mais difíceis de medir e testar.

3. Técnicas de Elicitação de Requisitos

A elicitação de requisitos é o processo de descobrir as necessidades dos usuários, clientes e demais stakeholders. Não se trata apenas de ouvir o que os usuários dizem que precisam, mas de interpretar, estruturar e validar essas necessidades para transformá-las em especificações compreensíveis.

Diversas técnicas podem ser utilizadas, isoladamente ou em combinação, a depender do contexto e do perfil dos envolvidos. As principais são:

a) Entrevistas

As entrevistas são conversas estruturadas ou semiestruturadas com os stakeholders para coletar informações detalhadas sobre os processos e as expectativas em relação ao sistema.

  • Vantagens: abordagem flexível, permite aprofundamento, ajuda a construir empatia com o usuário.
  • Desvantagens: pode ser subjetiva e dependente da habilidade do entrevistador.

Existem três tipos de entrevista:

  • Estruturada (com roteiro fixo);
  • Semiestruturada (com roteiro adaptável);
  • Livre (sem roteiro definido).

b) Questionários

Os questionários consistem em um conjunto de perguntas distribuídas a um número maior de usuários para coleta de dados quantitativos ou qualitativos.

  • Vantagens: abrange grande público com baixo custo, permite tabulação automática.
  • Desvantagens: limita a profundidade das respostas, depende da clareza das perguntas.

São ideais para confirmar hipóteses, entender padrões de uso e identificar preferências gerais.

c) Observação Direta

A observação consiste em acompanhar o usuário durante a execução de suas tarefas, a fim de entender como os processos funcionam na prática.

  • Vantagens: revela informações que o usuário pode não relatar espontaneamente.
  • Desvantagens: pode ser invasiva e afetar o comportamento do observado.

Essa técnica é especialmente útil em ambientes operacionais complexos ou em tarefas repetitivas e manuais.

Outras técnicas também relevantes incluem:

  • Workshops e grupos focais;
  • Prototipação (para validação rápida de ideias);
  • Estudo de documentos existentes e análise de sistemas
  • legados.

É importante que o analista de sistemas saiba escolher a técnica mais adequada para o contexto do projeto, considerando fatores como tempo disponível, perfil dos stakeholders, cultura organizacional e escopo do sistema.

Considerações Finais

A engenharia de requisitos é uma disciplina essencial para o sucesso de projetos de software. Ao compreender a diferença entre requisitos funcionais e não funcionais, e ao aplicar adequadamente técnicas de elicitação como entrevistas, questionários e observação, o analista de sistemas garante que o sistema desenvolvido esteja alinhado às reais necessidades dos usuários.

A complexidade dos sistemas atuais, aliada à velocidade das mudanças tecnológicas e de mercado, exige que a elicitação de requisitos seja um processo contínuo, colaborativo e adaptativo. Assim, o domínio da engenharia de requisitos não é apenas uma habilidade técnica, mas um diferencial estratégico para profissionais da área de TI.

Referências Bibliográficas

  • SOMMERVILLE, Ian. Engenharia de Software. 10. ed. São Paulo: Pearson, 2011.
  • PRESSMAN, Roger S. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016.
  • KOTONYA, Gerald; SOMMERVILLE, Ian. Requirements Engineering: Processes and Techniques. New York: John Wiley & Sons, 1998.
  • PREECE, Jenny; ROGERS, Yvonne; SHARP, Helen. Design de Interação: Além da Interação Homem-Computador. 3. ed. Porto Alegre: Bookman, 2013.
  • LARMAN, Craig. Utilizando UML e Padrões. 3. ed. Porto Alegre: Bookman, 2007.


Modelagem com Casos de Uso: Introdução à UML, Atores, Cenários e Diagrama

 

A modelagem com casos de uso é uma das principais técnicas empregadas na fase de análise de requisitos do desenvolvimento de sistemas. Utilizando a UML (Unified Modeling Language) como notação padrão, os casos de uso permitem a visualização das interações entre os usuários (atores) e o sistema, por meio de representações gráficas e narrativas. Esse tipo de modelagem facilita a comunicação entre desenvolvedores, analistas, gestores e usuários finais, promovendo uma compreensão compartilhada das funcionalidades esperadas do sistema.

1. Introdução à UML

A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada pela OMG (Object Management Group), criada para descrever, visualizar e documentar sistemas de software orientados a objetos. A UML não é uma metodologia, mas sim uma linguagem que pode ser usada em conjunto com diversas abordagens de

desenvolvimento (ágil, cascata, incremental, etc.).

A UML é composta por vários diagramas que representam diferentes aspectos de um sistema, podendo ser agrupados em três categorias principais:

  • Diagramas estruturais, como o diagrama de classes e de componentes;
  • Diagramas comportamentais, como o diagrama de atividades e de estados;
  • Diagramas de interação, como os diagramas de sequência e de comunicação.

Entre esses, o diagrama de casos de uso é um dos mais utilizados nas fases iniciais do desenvolvimento, por sua simplicidade e foco na perspectiva do usuário.

2. Atores e Cenários

Atores

Na modelagem de casos de uso, atores são entidades externas que interagem com o sistema. Um ator pode ser uma pessoa, outro sistema ou qualquer elemento que forneça ou receba informações do sistema em análise.

Os atores podem ser classificados em:

  • Primários: iniciam a interação com o sistema para atingir um objetivo específico (ex.: cliente fazendo login);
  • Secundários: fornecem suporte à operação, geralmente sendo ativados pelo sistema (ex.: sistema de pagamento externo).

Importante destacar que os atores não representam cargos ou nomes próprios, mas sim papéis desempenhados em relação ao sistema.

Cenários

Um cenário descreve o fluxo de eventos ou passos necessários para que um ator atinja um objetivo por meio do sistema. Cada caso de uso pode ter um ou mais cenários:

  • Cenário principal (ou básico): descreve o fluxo ideal, sem falhas;
  • Cenários alternativos: tratam variações, como decisões ou caminhos diferentes;
  • Cenários de exceção: descrevem o que acontece quando ocorre um erro ou falha no processo.

A descrição dos cenários geralmente é feita em linguagem natural estruturada, sendo uma forma poderosa de comunicação com stakeholders não técnicos.

3. Diagrama de Casos de Uso

O diagrama de casos de uso é uma representação gráfica das interações entre os atores e os casos de uso de um sistema. Ele mostra quem faz o quê, ou seja, quais funcionalidades (casos de uso) são acionadas por quais atores.

Elementos principais:

  • Ator (stickman): representado por uma figura humana estilizada, indica os papéis externos ao sistema;
  • Caso de uso (elipse): indica uma funcionalidade ou serviço oferecido pelo sistema;
  • Sistema (retângulo): delimita o escopo da modelagem, dentro do qual os casos de uso são definidos;
  • Relacionamentos:
    • Associação: linha entre ator e caso de uso
    • (interação);
    • Inclusão (<<include>>): um caso de uso inclui obrigatoriamente outro;
    • Extensão (<<extend>>): um caso de uso pode estender outro, sob certas condições;
    • Generalização: atores ou casos de uso podem herdar comportamentos de outros.

Exemplo ilustrativo (em descrição textual):

Imagine um sistema bancário. Os atores podem ser "Cliente", "Gerente" e "Sistema de Pagamento Externo". Os casos de uso poderiam incluir:

  • "Realizar Saque"
  • "Consultar Saldo"
  • "Emitir Extrato"
  • "Autorizar Transferência"

O ator "Cliente" se associa a "Realizar Saque" e "Consultar Saldo", enquanto "Gerente" pode se associar a "Autorizar Transferência". A funcionalidade "Emitir Extrato" pode incluir "Consultar Saldo" como parte de seu fluxo.

Esse tipo de diagrama auxilia equipes de desenvolvimento a entenderem o escopo funcional do sistema de forma rápida e colaborativa, além de servir como referência durante as fases de projeto, testes e documentação.

Considerações Finais

A modelagem com casos de uso é uma ferramenta essencial para a análise e especificação de requisitos em projetos de software. Ao utilizar a UML como padrão, os analistas conseguem representar as interações entre usuários e sistema de forma clara e padronizada, promovendo o alinhamento entre as expectativas do cliente e as soluções propostas.

A definição de atores e cenários permite identificar os papéis envolvidos no sistema e os diversos caminhos possíveis para alcançar objetivos. Já o diagrama de casos de uso oferece uma visão de alto nível que serve como guia para o desenvolvimento e a validação do sistema.

A simplicidade e a acessibilidade dessa abordagem fazem com que ela seja amplamente utilizada tanto em contextos acadêmicos quanto no mercado profissional, sendo um dos primeiros passos para a construção de sistemas de qualidade.

Referências Bibliográficas

  • BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML - Guia do Usuário. 2. ed. Rio de Janeiro: Campus, 2006.
  • LARMAN, Craig. Utilizando UML e Padrões: Uma Introdução à Análise e ao Projeto Orientados a Objetos. 3. ed. Porto Alegre: Bookman, 2007.
  • SOMMERVILLE, Ian. Engenharia de Software. 10. ed. São Paulo: Pearson, 2011.
  • PRESSMAN, Roger S. Engenharia de Software: Uma Abordagem Profissional. 8. ed. Porto Alegre: AMGH, 2016.
  • FOWLER, Martin. UML Essencial. 3. ed. Rio de Janeiro: Alta Books, 2011.
  • Object Management Group (OMG). UML 2.5 Specification. Disponível em:
  • https://www.omg.org/spec/UML/


Ferramentas de Apoio à Análise: Modelagem, Gestão e Boas Práticas na Documentação

 

A análise de sistemas é uma atividade fundamental no desenvolvimento de soluções de software, exigindo organização, clareza e colaboração entre diversos profissionais. Para facilitar esse processo, o mercado oferece um vasto conjunto de ferramentas de apoio que auxiliam na modelagem de processos, na organização de tarefas e na documentação técnica. O uso adequado dessas ferramentas contribui para a melhoria da comunicação entre as partes envolvidas, além de aumentar a eficiência e a qualidade do produto. Este texto explora as principais ferramentas utilizadas na análise de sistemas, divididas em três categorias: modelagem, gestão de projetos e documentação.

1. Ferramentas de Modelagem

A modelagem é a representação gráfica ou simbólica dos processos, estruturas e comportamentos de um sistema. Essa prática facilita a compreensão e comunicação entre analistas, desenvolvedores e clientes. Diversas ferramentas de modelagem estão disponíveis atualmente, variando entre versões gratuitas, colaborativas e robustas. Entre as mais utilizadas estão:

a) Lucidchart

O Lucidchart é uma ferramenta online baseada em nuvem, que permite criar diagramas diversos, como fluxogramas, mapas mentais, organogramas e diagramas UML. Com uma interface intuitiva e colaboração em tempo real, é amplamente utilizado por equipes ágeis e remotas.

Vantagens:

  • Integração com Google Drive, Slack e Microsoft Teams;
  • Facilidade de uso e grande biblioteca de templates;
  • Ideal para criar diagramas de caso de uso, sequência, atividades e BPMN.

b) Draw.io (hoje chamado diagrams.net)

O Draw.io é uma ferramenta gratuita e de código aberto, acessível via navegador, que permite a criação de diagramas variados. É bastante utilizada por analistas e desenvolvedores que desejam uma alternativa leve, sem necessidade de instalação.

Vantagens:

  • Gratuita e com armazenamento local ou na nuvem;
  • Suporte a múltiplos formatos e exportações;
  • Ampla gama de elementos para modelagem UML, ERD, workflows e redes.

c) StarUML

O StarUML é uma ferramenta profissional voltada especialmente para a modelagem orientada a objetos. Suporta diversos tipos de diagramas da UML, além de extensões para outras linguagens e metodologias, como ERD e SysML.

Vantagens:

  • Alta compatibilidade com os padrões UML 2.x;
  • Possibilidade de engenharia reversa e geração de
  • código;
  • Mais indicado para projetos complexos e ambientes acadêmicos ou corporativos.

O uso de ferramentas de modelagem promove a padronização dos artefatos, melhora a comunicação entre os membros da equipe e facilita a validação das funcionalidades com os stakeholders.

2. Ferramentas de Gestão

Além da modelagem, o analista de sistemas também atua no planejamento, acompanhamento e priorização de atividades. Para isso, é essencial o uso de ferramentas de gestão de tarefas e projetos, que organizam o trabalho colaborativo e aumentam a visibilidade sobre o andamento do projeto. Entre as mais conhecidas, destacam-se:

a) Trello

O Trello é uma ferramenta visual de gerenciamento baseada no método Kanban, que utiliza cartões e quadros para representar tarefas em diferentes etapas (a fazer, em andamento, concluído).

Vantagens:

  • Interface simples e altamente visual;
  • Possibilidade de criar checklists, etiquetas, prazos e automações;
  • Ideal para projetos pequenos e equipes distribuídas.

b) Jira

O Jira, desenvolvido pela Atlassian, é uma ferramenta robusta para gestão de projetos ágeis. Permite o acompanhamento detalhado de tarefas, sprints, épicos, bugs e histórias de usuário.

Vantagens:

  • Foco em metodologias ágeis como Scrum e Kanban;
  • Integração com Confluence, Bitbucket e outras ferramentas da Atlassian;
  • Indicadores e relatórios poderosos para times de desenvolvimento.

c) Notion

O Notion é uma plataforma all-in-one que combina anotações, wikis, bases de dados, quadros Kanban e calendário. É bastante utilizada para a organização de conteúdos, roteiros de projetos e documentação informal.

Vantagens:

  • Interface flexível e personalizável;
  • Útil para documentar processos, atas de reunião e planos de projeto;
  • Suporte colaborativo e controle de permissões.

O uso dessas ferramentas permite ao analista acompanhar entregas, gerenciar prioridades e comunicar com clareza, além de manter o time alinhado com os objetivos e prazos definidos.

3. Boas Práticas na Documentação

Independentemente das ferramentas utilizadas, a qualidade da documentação é um fator determinante para o sucesso do projeto. Uma documentação mal estruturada pode gerar ambiguidade, retrabalho e falhas no entendimento entre as equipes técnicas e os usuários finais.

Algumas boas práticas incluem:

a) Clareza e Objetividade

A linguagem utilizada deve ser simples, direta e sem ambiguidades. Sempre que possível, utilizar exemplos concretos,

fluxos e descrições que facilitem a compreensão.

b) Padronização

Definir modelos e templates para documentos como casos de uso, especificações funcionais e requisitos. Isso facilita a leitura e a manutenção ao longo do tempo.

c) Atualização Contínua

A documentação deve ser dinâmica, acompanhando as mudanças nos requisitos, ajustes no escopo e decisões tomadas durante o projeto. Ferramentas como o Notion ou o Confluence permitem controle de versão e histórico de alterações.

d) Separação de Documentos

Evitar documentos excessivamente longos e genéricos. Prefira a separação por tópicos ou funcionalidades, mantendo os arquivos organizados por tipo (requisitos, diagramas, cronogramas, atas, etc.).

e) Acesso Colaborativo

A documentação deve estar acessível a todos os envolvidos no projeto. Plataformas baseadas em nuvem garantem que os documentos possam ser editados e consultados em tempo real, com controle de permissões e rastreamento de mudanças.

Considerações Finais

As ferramentas de apoio à análise desempenham um papel estratégico na eficiência e na qualidade do desenvolvimento de sistemas. Ferramentas como Lucidchart, Draw.io e StarUML otimizam a modelagem de processos e requisitos, enquanto Trello, Jira e Notion auxiliam no gerenciamento de tarefas e na organização do projeto.

O uso dessas soluções, aliado a boas práticas de documentação, fortalece a comunicação entre as partes envolvidas, melhora o alinhamento de expectativas e reduz os riscos de falhas no sistema. O analista de sistemas que domina essas ferramentas e práticas torna-se uma peça-chave na entrega de soluções eficazes e bem estruturadas.

Referências Bibliográficas

  • SOMMERVILLE, Ian. Engenharia de Software. 10. ed. São Paulo: Pearson, 2011.
  • PRESSMAN, Roger S. Engenharia de Software: Uma Abordagem Profissional. 8. ed. Porto Alegre: AMGH, 2016.
  • LARMAN, Craig. Utilizando UML e Padrões. 3. ed. Porto Alegre: Bookman, 2007.
  • HIGHSMITH, Jim. Agile Project Management: Creating Innovative Products. 2. ed. Addison-Wesley, 2009.
  • Atlassian. Guia Oficial do Jira. Disponível em: https://www.atlassian.com/software/jira
  • Lucid Software. Lucidchart User Guide. Disponível em: https://www.lucidchart.com
  • Notion Labs. Guia de Uso do Notion. Disponível em: https://www.notion.so/help

Quer acesso gratuito a mais materiais como este?

Acesse materiais, apostilas e vídeos em mais de 3000 cursos, tudo isso gratuitamente!

Matricule-se Agora