Вы находитесь на странице: 1из 48

ANLISE DE REQUISITOS

ANLISE DE SISTEMAS

Prof. Cayo Fontana

SUMARIO
Introduo
Modelagem conceitual

UML: Linguagem de Modelagem Unificada


Paradigma orientado objetos
Um mtodo de anlise de requisitos funcionais
Especificao de requisitos no funcionais
Documento de especificao de requisitos

INTRODUO
Requisitos de Usurio
Resultam diretamente da atividade de Lavantamento de Requisitos
Utilizam linguagem natural
Baixo nvel de detalhes (funcionalidades, regras e aes genricas)

Requisitos de Sistema
Derivam diretamente de Requisitos de Usurios
Apresenta um conjunto de modelos abstratos do sistema
Alto nvel de detalhamento e foco nos Requisitos Funcionais (Requisitos No-Funcionais
tambm devem ser detalhados)

INTRODUO
Anlise de Requisitos
Utilizao de modelos conceituais que definem em detalhes as funes requeridas
pelo sistema e o conhecimento necessrio para realiz-las
Objetivo
Captura as funes e informaes que o sistema deve prover e gerenciar
nfase

Domnio do problema x domnio da soluo


(+) Viso Externa () Viso Interna

INTRODUO
Anlise de Requisitos Documento de Especificao de Requisitos
Contendo:
Requisitos Funcionais: estabelece um conjunto de modelos abstratos
interrelacionados representando as funcionalidades do sistema
Requisitos No-Funcionais: define detalhes dos requisitos no funcionais de
usurio, adicionando critrios de aceitao aos mesmos
Regras de Negcio: descrevem regras e comportamentos organizacionais,
especificando possveis estados das informaes
Formato / Apresentao
Modelo conceitual

MODELAGEM CONCEITUAL
O esquema conceitual de um sistema de informao (SI) a especificao de seus
requisitos funcionais

Um SI um sistema projetado para coletar, armazenar, processar e distribuir


informao sobre o estado de um domnio, possuindo 3 (trs) propsitos:
Funo de Memria: manter uma representao interna do domnio

Funo Informativa: prover informaes sobre o estado do domnio


Funo Ativa: conhecer e realizar aes que modificam o estado do domnio

MODELAGEM CONCEITUAL
O modelo conceitual de um sistema composto por vrios modelos, sendo fortemente
dependente do paradigma de desenvolvimento de software adotado
No paradigma Orientado Objetos (OO), genericamente, os modelos podem ser
classificados em dois grupos:
Modelos Comportamentais: especificam as aes e mudanas vlidas no domnio do
problema. Na anlise OO os modelos mais utilizados so: Modelos de Casos de Uso e
Modelos Dinmicos, tais como Diagramas de Transio de Estados e Diagramas de
Interao e Diagramas de Atividade

Modelos Estruturais: definem os principais conceitos do domnio, suas relaes e


propriedades. Alta utilizao de conceitos de abstrao representanto o que
relevante no propsito do sistema. Os modelos destacam-se Modelo de Entidades e
Relacionamentos e o Diagrama de Classes no desenvolvimento OO

UML LINGUAGEM DE MODELAGEM UNIFICADA


uma linguagem grfica padro para especificar, visualizar, documentar e
construir artefatos de sistemas de software
Histrico:
Criada na dcada de 1990, em uma tentativa de unificar dois dos principais
mtodos orientados a objetos utilizados at ento: a Tcnica de Modelagem de
Objetos e o Mtodo de Booch

Percepo: no era possvel adotar um padro para Modelagem


Evoluo: utilizao de uma linguagem, que permita modelos unificados, para
descrever artefatos de software

UML LINGUAGEM DE MODELAGEM UNIFICADA


Proposta pelos autores Rumbaugh, Booch, e Jacobson, foi aprovada pela
organizao internacional OMG Grupo de Gerenciamento de Objetos
A UML independente de processo de software, apesar da sua adequao ao
modelo OO
Possui diversos diagramas para modelagem de requisitos de software, tendo como
principais

Modelos Estruturais: Diagrama de classes e Diagrama de Pacotes


Modelos Comportamentais: Diagrama de Casos de Uso, de Interao, de
Estados e Atividades

UML LINGUAGEM DE MODELAGEM UNIFICADA

UML LINGUAGEM DE MODELAGEM UNIFICADA


Diagrama de Classes
Definem o conjunto de classes e seus relacionamentos, provendo uma viso
esttica da estrutura de um sistema
Classes so as entidades que fazem parte do domnio do problema
Diagrama de Casos de Uso

Apresentam o conjunto de casos de uso, atores e seus relacionamentos, provendo


uma viso das funcionalidades do sistema, sendo importantes para a organizlas e model-las

UML LINGUAGEM DE MODELAGEM UNIFICADA


Diagrama de Estados
Apresentam os possveis estados pelos quais um objeto pode passar ao longo de
sua vida, provendo uma viso dinmica dos objetos sobre a perspectiva de
aes e eventos
Diagrama de Atividades
Apresentam a estrutura de um processo, provendo uma viso dinmica de
mdulos do sistema ou de todo o sistema
Utilizando principalmente para modelar regras de negcios e requisitos de
sistema, enftico no fluxo de controle de objetos do domnio

UML LINGUAGEM DE MODELAGEM UNIFICADA


Diagrama de Interao
Apresenta um conjunto de objetos ou atores interagindo, incluindo as mensagens
que podem ser trocadas entre eles. Tambm estabelece uma viso dinmica e
comportamental do sistema ou de um mdulo do sistema. Possui duas
classificaes:
Diagramas de Sequncia: nfase est na ordenao temporal das mensagens
Diagramas de Comunicao: nfase na organizao estrutural dos objetos
que enviam ou recebem mensagens

PARADIGMA ORIENTADO A OBJETOS


No que tange ao desenvolvimento de Sistemas de Informao, o paradigma
frequentemente adotado atualmente a orientao a objetos (OO)

Filosofia conceitual:
A perspectiva do paradigma OO, sobre o mundo, seria um cenrio composto
por objetos de maneira que um objeto uma entidade que combina estrutura
de dados e comportamento funcional
No paradigma OO, os sistemas so modelados como objetos que interagem
(trocam mensagens)

PARADIGMA ORIENTADO A OBJETOS


No que tange ao desenvolvimento de Sistemas de Informao, o paradigma
frequentemente adotado atualmente a orientao a objetos (OO)

Filosofia conceitual:
A perspectiva do paradigma OO, sobre o mundo, seria um cenrio composto
por objetos de maneira que um objeto uma entidade que combina estrutura
de dados e comportamento funcional
No paradigma OO, os sistemas so modelados como objetos que interagem
(trocam mensagens)

PARADIGMA ORIENTADO A OBJETOS


teis para:
Compreenso de problemas

Comunicao com especialistas e usurios das aplicaes


Realizao das tarefas ao longo do processo de desenvolvimento de software
Utiliza uma perspectiva humana de observao da realidade, incluindo objetos,
classificao e compreenso hierrquica
Para extrair as vantagens da sua utilizao conhecer os princpios para a
administrao da complexidade

PARADIGMA ORIENTADO A OBJETOS


Princpios para Administrao da Complexidade
Mundo real bastante rico em complexidade OO visa gerenciar a
complexidade do mundo real (domnio do problema), abstraindo conhecimento
relevante e encapsulando-o dentro de objetos
Princpios bsicos para a administrao da complexidade em OO:
Abstrao
Encapsulamento
Modularidade

PARADIGMA ORIENTADO A OBJETOS


Abstrao
Compreenso do mundo (ambiente, cenrio) de maneira simplificada, apesar de sua alta
complexidade
Apenas os elementos relevantes so considerados
Modelos, portanto, so mais simples do que os complexos sistemas que eles modelam

Exemplo: um mapa de um territrio


Um mapa til porque abstrai apenas as caractersticas do territrio que se deseja
modelar (limites, altitude, mapa rodovirio, entre outros)

PARADIGMA ORIENTADO A OBJETOS


Abstrao
nfase somente nos
aspectos relevantes
sobre o contexto do
problema,
ignorando
caractersticas
irrelevantes

PARADIGMA ORIENTADO A OBJETOS


Abstrao

Em outras palavras, a abstrao a capacidade generalizao da informao ou


de um contexto. O seu inverso, seria a especializao, que tambm importante
neste contexto pois, em algum momento, uma informao genrica poder ser
especializada

PARADIGMA ORIENTADO A OBJETOS


Encapsulamento
No paradigma OO, o encapsulamento o conceito de interao entre os objetos
do domnio sem que estes conheam detalhes sobre o processamento das aes de
interatividade
Segregao dos aspectos externos de um objeto, acessveis por outros objetos, de
seus detalhes internos de implementao, que ficam ocultos para os demais
objetos

PARADIGMA ORIENTADO A OBJETOS

PARADIGMA ORIENTADO A OBJETOS


Encapsulamento
Ocultao de informao esconde detalhes que no contribuem para suas
caractersticas essenciais e/ou para sua finalidade
Em sistemas OO, a estrutura de um objeto e a implementao de seus mtodos so
encapsuladas, segregando a interface contratual de uma abstrao e sua implementao

Abstrao e Encapsulamento so conceitos complementares:


Abstrao possui nfase no comportamento observvel de um objeto
Encapsulamento oculta a implementao que origina esse comportamento

PARADIGMA ORIENTADO A OBJETOS


Encapsulamento
Um dos grandes benefcios do encapsulamento a garantia de estabilidade dos
sistemas:
Funes / Aes centralizadas no objeto

PARADIGMA ORIENTADO A OBJETOS


Modularidade
Visa obteno de sistemas decompostos em um conjunto de mdulos coesos e

fracamente acoplados, sendo essencial para construir sistemas simples de manter e


estender
Os mtodos de desenvolvimento de software buscam obter sistemas modulares,

isto , construdos a partir de elementos que sejam autnomos e conectados por


uma estrutura simples e coerente.

OO PRINCIPAIS CONCEITOS
OO Viso
Entidades do domnio vistos como objetos em interao mundo real
Traduo Sistmica
O anlise OO, tecnicamente, transporta entidades do domnio para

conceitos fundamentais de desenvolvimento como objetos, classes,


associaes, heranas, entre outros componentes de software

OO PRINCIPAIS CONCEITOS
Objetos
Mundo real entidades que interagem entre si desempenhando um papel
especfico
Ex: mulher, computador, ingresso de cinema, organizaes, etc

partir de um determinado conceito estrutural, sobre determinado


contexto, objetos so suas instncias (exemplares fsicos)

OO PRINCIPAIS CONCEITOS
Objetos
Paradigma OO instncias de um determinado conceito estrutural,
contextualizando entidades do domnio, realizando interaes atravs de
operaes e mantendo seus estados ao longo do seu ciclo de vida

Estado: compreendido e mantido pelo seu conjunto de propriedades,


associado aos valores correntes

OO PRINCIPAIS CONCEITOS
Objetos
Operaes: funes e aes utilizadas para recuperar ou manipular
informaes do objeto, devendo tratar exclusivamente de sua prpria
estrutura de dados

Caso a operao no esteja disponvel, a colaborao com outros objetos


(troca de mensagem) dever ser realizada

OO PRINCIPAIS CONCEITOS
Objetos
A troca de mensagem feita pelo nome da mensagem (geralmente o nome
refere-se ao seu propsito) e seus respectivos argumentos (caso existam)
Resumo:

Um objeto uma entidade que possui um estado (representado por um


conjunto de atributos) e comportamento (conjunto de operaes)

OO PRINCIPAIS CONCEITOS
Classes
Estabelecem um conjunto de caractersticas e comportamentos que definem
um determinado modelo estrutural sobre algum contexto e/ou entidade
Conceito realista:

Dois ou vrios objetos podem possuir as mesmas caractersticas e/ou


exercer uma mesma funo ou atividade sobre o meio

OO PRINCIPAIS CONCEITOS
Classes
Exemplo: mesa

OO PRINCIPAIS CONCEITOS
Classes

Caractersticas:
- base sustentvel;

Exemplo: mesa

- superfcie plana;
Comportamentos:
Suportar demais
objetos em sua
superfcie;
Manter pleno equilbrio
dos objetos suportados;

OO PRINCIPAIS CONCEITOS
Classes
Apesar das diferentes apresentaes dos objetos, eles compartilham de

uma mesma estrutura (caractersticas) e objetivos (comportamentos).


Vantagem:
No h necessidade de redefinio para cada objeto
Os objetos devem ser modelados formalmente definidos em um nico
momento

OO PRINCIPAIS CONCEITOS
Classes
um modelo formal e genrico para classificar uma amostra

populacional com caractersticas e comportamentos semelhantes


Definindo de maneira computacionalmente:
um modelo formal e genrico de classificar um grupo de objetos com
atributos e aes / funes semelhantes

OO PRINCIPAIS CONCEITOS
Classes
Todo objeto pertence a uma classe

Objetos so instncias de classes


Aluno (Joo, Maria, Teresa, etc)
o Classe

o Objetos / indivduos

No h limites lgicos (ou biolgicos) para que objetos (ou indivduos) sejam
instanciados (ou criados)

OO PRINCIPAIS CONCEITOS
Ligaes e Associaes
Em qualquer sistema, real ou no, os objetos que fazem parte do contexto
sistmico (domnio do problema) se relacionam com o meio interno e,
possivelmente, com o meio externo
Exemplo:
O professor Cayo leciona a disciplina Programao para Internet

OO PRINCIPAIS CONCEITOS
Ligaes e Associaes
Exemplo:
O professor Cayo leciona a disciplina Programao para Internet
Classes: professor e disciplina

Objetos: Cayo e Programao para Internet


Relacionamento entre o professor Cayo e a disciplina Programao para Internet

OO PRINCIPAIS CONCEITOS
Ligaes e Associaes
So formas de definir e estabelecer um relacionamento entre objetos e classes,

respectivamente
Ligao: relacionamento conectivo entre dois objetos
Associao: relacionamento estrutural entre duas classes (todo parte)
Agregao
Composio

OO PRINCIPAIS CONCEITOS
Ligaes e Associaes Agregao
uma associo entre duas classes (todo parte) onde a entidade parte existe

sem a existncia da classe todo


Exemplo: Associao entre as entidade Atleta e Time
Instituio de Ensino Superior (entidade Todo)

Curso (entidade Parte)


Mesmo que um curso no esteja associado a uma IES, ele pode existir no universo
sistmico

OO PRINCIPAIS CONCEITOS
Ligaes e Associaes Composio
uma associo entre duas classes (todo parte) onde a entidade parte no

existe sem a existncia da classe todo


Exemplo: Associao entre as entidade Pedido e Item do Pedido
Pedido (entidade Todo)

Item do Pedido (entidade Parte)


Sistemicamente, no haver sentido algum a axistncia de um Item do Pedido caso
no exista o Pedido

OO PRINCIPAIS CONCEITOS
Generalizao
Rene caractersticas e/ou comportamentos comuns, a demais entidades do DP,

em uma nica classe, ou seja;


uma entidade que possui caractersticas e/ou comportamentos genricos,
presentes em outras entidades

Exemplos:
Felinos uma generalizao de leo, tigre, gato, etc
Veculo Motorizado uma generalizao de carro, moto, caminho, etc

OO PRINCIPAIS CONCEITOS
Especializao
Especifica caractersticas e/ou comportamentos exclusivos em uma classe, ou

seja;
uma entidade que possui caractersticas e/ou comportamentos especficos e
exclusivos

Exemplos:
Tigre uma especializao de Felino
Carrro uma especializao de Veculo Motorizado

OO PRINCIPAIS CONCEITOS
Herana
um conceito utilizado para modelar similaridades entre classes, ou seja;

um relacionamento entre classes no qual uma classe compartilha a estrutura e


o comportamento definidos em outra(s) entidade(s)

Felino

Leo

Tigre

Especializao

Generalizao

Exemplo:

OO PRINCIPAIS CONCEITOS
Mensagens e Mtodos
Conjunto de operaes que podem ser requisitadas por outros objetos, ditos
clientes
Mtodos so implementaes reais de operaes
Mensagens so o meio de comunicao entre objetos, sendo responsveis pela
ativao de todo e qualquer processamento
Comprar Produto

Cliente

Mensagem Vendedor

Efetuar
Compra do
Produto

Mtodo

OO PRINCIPAIS CONCEITOS
Mensagens e Mtodos
Para que um objeto realize alguma tarefa, necessrio enviar uma mensagem
a ele solicitando a execuo da mesma
Na paradigma OO imprescindvel que um objeto acesse o outro somente por
meio de mensagens
indevido o acesso externo a caractersticas e/ou comportamentos de um
objeto
O objeto cliente no deve tomar conhecimento da complexidade interna do
objeto servidor
Princpio do encapsulamento

OO PRINCIPAIS CONCEITOS
Classes e Operaes, Abstratas
So estruturas que definem um conjunto de caractersticas e comportamentos,
respectivamente, mas que no apresentam instncias ou implementaes
Classes Abstratas no podem ser instanciadas
So desenvolvidas basicamente para serem herdadas por outras classes
Existem meramente para que caractersticas e/ou comportamentos comuns sejam
definidos em uma entidade comum uma nica vez
Podem possuir Operaes Abstratas, no qual estabelece apenas uma assinatura
(definio) para que, as classes que possuiro sua herana, obrigatoriamente
implementem as regras e procedimentos da operao assinada

EXERCCIO
1.

Um clube deseja manter informaes sobre seus scios.


Cada scio possui: n de matrcula (nico), nome, endereo e telefone. Os scios podem participar
de atividades (aulas de ginstica, tnis, natao, etc) e de eventos realizados pelo clube (festas,
chs beneficentes, etc). Os eventos podem ser pblicos ou privados.
Somente os chamados scios classe A podem participar dos eventos privados do clube. Alm
disso, cada scio desta categoria pode participar das decises do clube com um certo n de
votos. Este n varia entre scios. As atividades so identificadas por um cdigo. desejvel que
se armazene tambm o nome da atividade.
Cada evento tambm identificado por um cdigo. necessrio que se saiba a descrio e a
data de cada evento. importante ainda que o clube conhea a participao de cada scio em
cada atividade ou evento.
Utilizando o paradigma OO, identifique e descreva:
Os princpios bsicos para a administrao da complexidade (abstrao, encapsulamento e
modularidade)
Os principais conceitos da OO (classes, objetos, ligao / associao, herana
(generalizao / especializao), mensagens e mtodos, classes e mtodos abstratos)

Вам также может понравиться