Anlise de pacote
Categorizao uma parte importante da Modelagem de Anlise.
ER um amplo espectro de tarefas e tcnicas que levam a um entendimento dos requisitos. uma
ponte para o Projeto e Construo: contexto do trabalho de software, necessidades especficas de
projeto e construo, prioridades e ordem de trabalho, dados que impactam no projeto.
ER:
Analisar necessidades
Avaliar viabilidade
Validar especificao
Eng. software
Analistas
Concepo:
o Escopo e natureza do problema.
o Pessoas envolvidas
o Natureza da soluo
o Eficcia
Comunicao
Colaborao
Levantamento:
o Definir o que necessrio.
o Problemas:
o Engenheiros
o Clientes
o Usurios
Colaborao.
Compreenso do fluxo de eventos: breve cenrio com sequncia de eventos que gera
reunio, ocorrem durante e aps a reunio.
Cada participante faz uma lista de objetos (descrio funcional), que ser combinada,
reduzida ou aprimorada.
Crticas so proibidas.
Miniespecificaes da lista de objetos: gera caso de uso, servios, restries e/ou outros
requisitos.
Cenrios
Classes
o Conjunto de objetos (com comportamentos e atributos) manipulados durante
interao.
Comportamentais
o Formas de representar os estados e comportamentos do sistema
o Utiliza diagrama de estado
Orientados a fluxos
o Informaes transformadas medida que fluem.]
Necessidade/importncia.
Perguntas iniciais
a
As primeiras devem ser livres de contexto com foco no cliente, nos benefcios e nas
metas globais do projeto.
o Quem est por trs da solicitao deste trabalho?
o Quem ir usar a soluo?
o Qual ser o beneficio econmico de uma soluo bem-sucedida?
o H outra fonte para a soluo que voc precisa?
Eficcia da comunicao:
o Voc a pessoa correta para responder? oficial sua resposta?
o Essas perguntas so relevantes?
o muita pergunta?
o Algum tem informaes adicionais?
o Tem algo mais que voc acha que eu deveria perguntar?
Um conjunto de cenrios de uso que esclarecem o uso do sistema ou produto sob diferentes
condies operacionais.
CASOS DE USO
Descreve o comportamento em resposta a uma solicitao de um interessado. Conta um histria
Primeiro passo definir o conjunto de atores: qualquer coisa externa que se comunica com o
sistema. Define-se meta do ator, precondies, funes e tarefas do ator, excees e variaes
possveis, informaes acessadas, modificadas ou produzidas pelo ator, quais avisos so visuais ao
ator em caso de mudanas inesperadas.
Caso de uso bsico: histria detalhada de interao.
Exemplo:
CASO DE USO:
DISPONIBILIDADE:
ATOR PRIMRIO:
FREQUENCIA DE USO:
META DO CONTEXTO:
PRECONDIES:
ATORES SECUNDRIOS:
CENRIO:
EXCEES:
QUESTES EM ABERTO:
PRIORIDADE:
CAPTULO 6
MODELAGEM DE REQUISITOS
O Modelo de Requisitos a primeira representao tcnica de um sistema.
A Anlise de Requisitos resulta na especificao de caractersticas operacionais do
software, indica a interface do software com outros elementos do sistema e estabelece
restries que o software deve atender.
A ao da modelagem de requisitos resulta em um ou mais dos seguintes tipos de
modelos:
Modelos baseados em cenrios de requisitos do ponto de vista de vrios "atores" do
sistema.
Modelos de dados que representam o domnio de informaes para o problema.
Modelos orientados a classes que representam classes orientadas a objetos (atributos
e operaes) e a maneira por meio da qual as classes colaboram para atender aos
requisitos do sistema.
Modelos orientados a fluxos que representam os elementos funcionais do sistema e
como eles transformam os dados medida que percorrem o sistema.
Modelos comportamentais que representam como o software se comporta em
consequncia de "eventos" externos.
Tais modelos do informaes traduzidas em projetos de arquitetura, de interfaces e de
componentes.
O modelo de requisitos (e a especificao de requisitos de software) fornecem ao
desenvolvedor e ao cliente os meios para verificar a qualidade to logo o software seja
construdo.
Na modelagem de requisitos, o foco primrio no que e no no como.
Que interao? Qual circunstncia? Quais objetos o sistema manipula? Que funes o
sistema deve executar? Quais comportamentos o sistema apresenta? Que interfaces so
definidas? Quais restries se aplicam?
Objetivos Primrios:
(1) descrever o que o cliente solicita.
(2) estabelecer uma base para a criao de um projeto de software.
(3) definir um conjunto de requisitos que possa ser validado assim que o software for
construdo.
O Modelo de Anlise preenche a lacuna entre uma descrio sistmica que descreve o
sistema como um todo ou a funcionalidade de negcio que atingida aplicando-se
software, hardware, dados, pessoal e outros elementos de sistema e um projeto de
software que descreve a arquitetura, a interface do usurio e a estrutura em termos de
componentes do software.
Todos os elementos do modelo de requisitos esto diretamente associados a partes do
modelo do projeto.
Nem sempre possvel estabelecer uma clara diviso das tarefas de anlise e de projeto
entre essas duas importantes atividades de modelagem.
Algum projeto ocorre invariavelmente como parte da anlise e alguma anlise ser
realizada durante o projeto.
Regras prticas para a anlise:
O modelo deve enfocar as necessidades visveis no domnio do problema ou do
negcio. O nvel de abstrao deve ser relativamente elevado.
Cada elemento do modelo de requisitos deve contribuir para o entendimento geral dos
requisitos de software e fornecer uma viso do domnio de informao, funo e
comportamento do sistema.
Consideraes de infraestrutura devem ser consideradas apenas depois da anlise do
domnio do problema ter sido completada.
Minimize o acoplamento do sistema. importante representar os relacionamentos
entre as classes e funes. Entretanto, se o nvel de "interconexo" for extremamente
alto, deve-se esforar para reduzi-lo.
O modelo de requisitos deve agregar valor a todos os interessados da equipe de
software.
KISS
Anlise de domnio
Usando as fontes de domnio de conhecimento (aplicaes existentes, literatura tcnica,
experts, requisitos j estabelecidos) gera-se a Anlise de Domnio (taxonomia de
classes, padres de reutilizao, modelos funcionais, linguagens de domnio), que
posteriormente gerar um Modelo de Anlise de Domnio.
O objetivo da Anlise de Domnio criar/encontrar Classes de Anlises e Padres de
Anlise que so amplamente aplicados para reutiliz-los.
A aplicao de padres de projeto e de componentes de software executveis melhora o
tempo de colocao do produto no mercado e reduz custos de desenvolvimento. A
anlise de domnio define como esses padres e as classes de anlise so inicialmente
A Anlise de domnio procura por padres similares nas aplicaes que fazem os
mesmos tipos de coisas do que a que estou construindo. Se possvel, os reutiliza em seu
trabalho.
Abordagens Modelagem de Requisitos
Anlise estruturada: na modelagem de requisitos, considera os dados e os processos que
transformam os dados em entidades separadas. Os objetos de dados so modelados de
maneira que definam seus atributos e relacionamentos. Processos que manipulam
objetos de dados so modelados de maneira que mostrem como transformam dados
medida que os objetos de dados trafegam pelo sistema.
Anlise orientada a objetos: na modelagem de anlise, se concentra na definio de
classes e na maneira pela qual colaboram entre si para atender s necessidades dos
clientes. A UML e o Processo Unificado so predominantemente orientados a objetos.
No h uma melhor abordagem: a combinao de representaes dar aos interessados o
melhor modelo de requisitos de software e a ponte mais efetiva com o projeto de
software.
Cada elemento do Modelo de Requisitos apresenta o problema segundo um ponto de
vista:
Em geral, os casos de uso so escritos primeiro de forma narrativa informal. Caso seja
necessria maior formalidade, o mesmo caso de uso reescrito usando um formato
estruturado e reproduzido mais adiante.
So usados casos de uso de forma narrativa e linear, de forma sequencial numerada.
Recomenda-se o uso de uma sesso de brainstorming para obter um conjunto de
excees relativamente completo para cada caso de uso.
O cenrio enumera as aes especficas que o ator deve tomar e as respostas apropriadas
do sistema. As excees identificam as situaes reveladas medida que o caso de uso
preliminar refinado. Cabealhos adicionais podero ou no ser acrescentados e so
relativamente autoexplicativos.
Em muitos casos, no h nenhuma necessidade de criar uma representao grfica de
um cenrio de uso. Entretanto, a representao diagramtica pode facilitar a
compreenso, particularmente quando o cenrio complexo.
Cada caso de uso representado por uma elipse em UML.
Toda notao de modelagem tem suas limitaes, e o caso de uso no uma exceo.
Assim como qualquer outra forma de descrio escrita, a qualidade de um caso de uso
depende de seu(s) autor(es). Se a descrio no for clara, o caso de uso pode ser
enganoso ou ambguo.
Um caso de uso que se concentra nos requisitos funcionais e comportamentais
geralmente inapropriado para requisitos no funcionais. Para situaes em que o
modelo de anlise deve ter muitos detalhes e preciso (por exemplo, sistemas com
segurana crtica), um caso de uso talvez no seja suficiente.
Entretanto, a modelagem baseada em cenrios apropriada para a grande maioria de
todas as situaes com as quais voc ir deparar como engenheiro de software. Se
desenvolvido apropriadamente, o caso de uso pode gerar grandes benefcios como
ferramenta de modelagem.
UML diagrama de atividade
Complementa o caso de uso atravs de uma representao grfica do fluxo de interao
em um cenrio especfico. Similar ao fluxograma, um diagrama de atividades usa
retngulos com cantos arredondados para representar determinada funo do sistema,
setas para representar o fluxo atravs do sistema, losangos de deciso para
representar uma deciso com ramificao (cada seta saindo do losango identificada) e
as linhas horizontais cheias indicam as atividades paralelas que esto ocorrendo.
Diagramas de atividades acrescentam outros detalhes no mencionados (mas implcitos)
pelo caso de uso.
O Diagrama de Raias UML uma til variao que representa o fluxo de atividades e
ao mesmo tempo indica qual ator (se existirem vrios atores envolvidos em determinado
caso de uso) ou classe de anlise tem a responsabilidade pela ao descrita por um
retngulo de atividade.
Casos de uso, juntamente com os diagramas de
atividades e de raias, so orientados a
procedimentos. Eles representam a maneira
pela qual vrios atores chamam funes
especficas (ou outras etapas procedurais) para
atender aos requisitos do sistema. Porm, uma
viso procedural dos requisitos representa
apenas uma nica dimenso de um sistema.
uma ocorrncia (por exemplo, uma ligao telefnica) ou evento (por exemplo,
um alerta),
Se for preciso que a classe (substantivo) implemente uma soluo, ento ela faz parte do
espao de solues; caso contrrio, se for necessria uma classe apenas para descrever
uma soluo, ela faz parte do espao de problemas.
"O intuito da orientao a objetos encapsular, mas, ainda, manter separados os dados e
as operaes sobre os dados".
ESPECIFICAO DE ATRIBUTOS
Os atributos descrevem uma classe selecionada para ser includa no modelo de
requisitos e definem uma classe que esclarecem o que a classe representa no contexto
do espao de problemas.
"Quais dados (compostos e/ou elementares) definem completamente esta classe no
contexto do problema em mos?".
Definio das operaes
As operaes definem o comportamento de um objeto.
Quatro grandes categorias:
(l) operaes que manipulam dados de alguma forma (por exemplo, adio, eliminao,
reformatao. seleo).
(2) operaes que realizam um clculo.
(3) operaes que pesquisam o estado de um objeto.
(4) operaes que monitoram um objeto em termos de ocorrncias de um evento de
controle.
Tais funes so realizadas operando-se sobre atributos e/ou associaes {Seo 6.5.5).
Consequentemente, uma operao deve ter "conhecimento" da natureza dos atributos e
associaes das classes.
A anlise sinttica estudada e os verbos so isolados. Alguns dos verbos sero as
operaes legtimas e podem ser facilmente associadas a uma classe especfica.
Pode-se ter uma melhor viso sobre outras operaes considerando-se a comunicao
que ocorre entre os objetos. Os objetos se comunicam passando mensagens entre si.
Modelagem CRC (Classe-Responsabilidade-Colaborador)
A modelagem CRC (classe-responsabilidade-colaborador) fornece uma maneira simples
para identificar e organizar as classes que so relevantes para os requisitos do sistema
ou produto.
Modelagem CRC: