ANÁLISE E MODELAGEM DE SISTEMAS
Motivações
O Negócio e os Requisitos (Sistema e Software)
Prof. Renato de Tarso Silva
Resumo
Aqui serão apresentados tópicos que abordam as motivações dos entregáveis
desta disciplina - os requerimentos funcionais - que se tornarão, na fase de análise de
software, em representações gráficas que os expressem. Serão abordadas as fases do
processo de desenvolvimento e onde os requisitos descobertos na análise de sistema,
junto aos stakeholders que precisam da solução, serão utilizados a fim de se especificar
e modelar a solução de software.
1.1. Processo de Desenvolvimento
O software não é um produto simplório. Visto a complexidade que a grande
maioria dos softwares apresenta, determinadas atividades do processo de
desenvolvimento devem ser cuidadosamente respeitadas para que a equipe de
desenvolvedores tenha a performance satisfatoriamente melhorada. Compara-se à
construção de uma casa com arquitetura refinada e sistemas complexos, a qual se
necessita de engenheiros, arquitetos, empreiteiros, eletricistas, encanadores, etc.
Imagine, por exemplo, se um pedreiro iniciar o assentamento de tijolos sem uma ideia
mínima concebida por um engenheiro ou um arquiteto. Não é difícil de se imaginar as
complicações disso, pois certamente surgirá uma série de desperdícios, tanto de tempo
quanto de recursos materiais.
A engenharia de software pode ser dividida em quatro fases. Note que as duas
primeiras fases são sobre assuntos de sistema - o que trata a parte de descobertas e
visualização do negócio independente de interesses tecnológicos - e que as outras duas
tratam sobre o que cerca o software - momento este em que a visão tecnológica, de
implementação, tem a abordagem iniciada. Em ambas as divisões citadas,
primeiramente, se analisa, e, posteriormente, se projeta. Essas divisões serão detalhadas
a seguir:
Núcleo de Educação a Distância | Faculdade Impacta
ANÁLISE E MODELAGEM DE SISTEMAS
Análise de Sistema: Esta é a fase em que são dados os primeiros passos de
abertura do projeto e se pré-define o escopo, sua fronteira e restrições.
É uma fase introdutória, mas crucial, por ser uma fase de descobertas dos
problemas do negócio e de suas causas; é quando as características desejadas e suas
necessidades são expostas e avaliadas.
Aqui se modela arquiteturalmente e analiticamente o negócio, enquanto sistema,
de forma que requisitos sejam elicitados e validados junto aos stakeholders. Trata-se de
um processo primordial em que premissas tecnológicas não são avaliadas.
Projeto de Sistema: É a fase em que o sistema começa a ser projetado através
de representações estruturais, de suas arquiteturas, suas modularidades - através da
definição de subsistemas - suas interfaces internas e externas - que favorecerão
interações sistêmicas, tanto internas quanto externas em relação ao escopo do sistema.
Análise de Software: Nesta fase, a que mais se estende pela disciplina, se faz a
especificação de comportamentos do sistema. Lança-se mão da criação de Casos de
Uso, com suas realizações, detalhamentos e artefatos relacionados. É uma fase que
propicia o surgimento dos primeiros requisitos de software.
Projeto de Software: Após se obter artefatos que representam a estrutura e os
comportamentos do sistema em especificações claras, pode-se fazer representações mais
finalistas do projeto, tais como: de banco de dados, de IHC (Interface Humano
Máquina), e utilizar padrões de projeto que serão aplicados na fase de implementação
do software que se especifica.
Na atividade de análise deve-se responder questões como: o que exatamente é o
software? ao invés de: como o software será desenvolvido? Essa diferenciação é
importante, pois desenvolvedores (analistas, arquitetos e programadores) devem dar
soluções para o problema. Mas como se poderia criar soluções se o problema em si
ainda não foi compreendido? Por exemplo, se a função de um software é verificar dados
de cliente e não buscar dados do cliente, não há necessidade de exibir tais dados, mas
apenas de checá-los e verificá-los quanto ao seu status de existência.
Essa atividade cobra uma intensa e frequente comunicação entre o cliente e a
equipe de desenvolvimento para que bons requisitos sejam corretamente obtidos. Tal
comunicação ocorrerá através de reuniões, fazendo uso ou não de representações, como
diagramas, etc, sempre com o objetivo de obter o melhor entendimento possível do
problema de maneira que a clareza do mesmo ajude a solução a ser desenvolvida.
Núcleo de Educação a Distância | Faculdade Impacta
ANÁLISE E MODELAGEM DE SISTEMAS
A primeira fase, Análise de Sistemas - aquela em que os primeiros requisitos
sistêmicos e o levantamento de problemas, necessidades e restrições que a solução de
software apresenta - é essencial, pois nela se criam artefatos que motivarão fases
consecutivas na “engrenagem” que as simboliza.
Assim, planejar o sistema, analisar o software, e, então, projetá-lo será possível,
como pode-se notar na figura 1.1, disposta abaixo.
Figura 1.1. Fases como uma Engrenagem
Núcleo de Educação a Distância | Faculdade Impacta
ANÁLISE E MODELAGEM DE SISTEMAS
Talvez a análise seja uma das atividades mais difíceis, senão a mais difícil, a ser
realizada pelo time de analistas. Mas sem dúvidas é a fase mais importante que existe,
visto que esta é a que mapeará as necessidades iniciais que o problema traz e que
motivará o projeto de criação da solução desejada pelos interessados de forma que
auxilie ou resolva, através do software proposto, as questões do negócio.
Evidentemente, como em outras áreas da engenharia, necessita-se de que os
responsáveis - neste caso, os analistas - dominem amplamente os métodos conhecidos
para obtenção de resultados qualitativos nos artefatos criados que apoiaram o projeto.
Despender de um tempo adequado para a atividade de análise é irrevogável, pois as
consequências na economia de tempo nesta fase são os retrabalhos para o
desenvolvimento ou correção de artefatos e, portanto, aumento de prazos e de custos.
1.1. Requisitos de Sistemas (SSS)
Os requisitos de sistema, ou SSS (System/Subsystem Specification) são o
resultado primário dos levantamentos de necessidades e descoberta de funcionalidades
ou restrições que surgem ainda no âmbito do negócio.
O amplo espectro de tarefas e técnicas que levam a um
entendimento dos requisitos é denominado engenharia de
requisitos. Na Perspectiva do processo de software, a
engenharia de requisitos é uma ação da engenharia de software
importante que se inicia durante a atividade de comunicação e
continua na modelagem. Ela deve ser adaptada às necessidades
do processo, do projeto, do produto e das pessoas que estão
realizando o trabalho. (PRESSMAN, 2011, p. 127)
A partir dos requisitos de sistema é possível criar os primeiros diagramas UML,
como, por exemplo, o diagrama de Casos de Uso. Veja na figura 1.2, adiante, como cada
requisito de sistema motiva a criação de um Caso de Uso desenvolvido para denotar as
funcionalidades necessárias.
Núcleo de Educação a Distância | Faculdade Impacta
ANÁLISE E MODELAGEM DE SISTEMAS
Figura 1.2. Requisitos motivam a criação de Casos de Uso
Cada Caso de Uso representa uma funcionalidade levantada como exigência de
um requisito de sistema, declarado na elicitação de requisitos feita por quem analisa o
negócio junto aos stakeholders, e que deverá ser implementado no sistema em questão.
Núcleo de Educação a Distância | Faculdade Impacta
ANÁLISE E MODELAGEM DE SISTEMAS
Referências
PRESSMAN, Roger S.ENGENHARIA DE SOFTWARE: Uma abordagem
profissional.
7ª Edição. 2011. Editora McGraw Hill.
Núcleo de Educação a Distância | Faculdade Impacta