SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
Unidade IV
MODELAGEM DE
SISTEMAS DE INFORMAÇÃOSISTEMAS DE INFORMAÇÃO
Prof. Daniel Arthur Gennari Junior
Sobre esta aula
 Análise Orientada a Objetos
 Análise, Definição e Especificação de
Requisitos
 Modelagem de Casos de Uso
Análise Orientada a Objetos
Inicialmente observamos, como a análise
orientada a objeto utiliza conceitos que
aprendemos há muito tempo: objetos,
atributos, classes, membros, todos e
partes.
Só não podemos explicar porque demorou
tanto tempo para se aplicarem esses
conceitos na análise e especificações dos
sistemas de informação.
Análise Orientada a Objetos
Leva em consideração que:
 Produto da equipe é um software.
 A satisfação dos Propósitos passa por
uma interação com os usuários de forma
organizada e com isso expõe osorganizada e com isso expõe os
requisitos reais do sistema.
 Esse software só terá uma qualidade de
longa duração se a sua arquitetura
aceitar modificações.
Modelagem
É tida como a parte central de todas as
atividades para a construção de um bom
Sistema. Com ela podemos:
 Construir modelos que comunicam a
estrutura e o comportamento do sistema;
 Construir modelos que visualizam e
controlam a arquitetura do Sistema;
 Construir modelos que gerenciam os
riscos;
 Construir modelos que propiciam a Construir modelos que propiciam a
simplificação e reaproveitamento de
sistemas.
Modelagem Orientada a Objetos
Segundo James Rumbaugh:
“A modelagem baseada em objeto é tida
como um novo modo de estudar problemas
com a utilização de modelos que são
fundamentados em conceitos do mundo
real.
A estrutura básica é o objeto, que combina
a estrutura e o comportamento dos dados
em uma única entidade.
São úteis para a compreensão dep p
problemas, para a comunicação com os
peritos em aplicações, para modelar
empresas, preparar
documentações e projetar
programas e bases de dados”.
Principais vantagens da análise OO
 Melhor entendimento do problema a ser
resolvido;
 Maior flexibilidade entre os blocos
independentes que são produzidos;
 Boa divisão do trabalho entre diferentesBoa divisão do trabalho entre diferentes
equipes de desenvolvimento;
 Melhor participação dos usuários no
processo de desenvolvimento do
sistema;
 Ajuda a trabalhar com aplicativos Ajuda a trabalhar com aplicativos
complexos.
Principais problemas encontrados
na análise OO
 Exige uma melhor concentração na
análise e no projeto do sistema;
 Mudança na cultura de desenvolvimento;
 Os benefícios são evidenciados a longo
prazo.prazo.
Interatividade
A Modelagem de Sistemas é uma atividade
que pressupõe a utilização de:
a) Metodologias e procedimentos;
b) Softwares e Frameworks;
c) Bases de comparação;c) Bases de comparação;
d) Bases de interação com o Sistema;
e) N.D.A.
Conceitos de Orientação a Objeto
O it bá i d i t ãOs conceitos básicos de orientação a
objeto permitem a definição de:
 Classes;
 Objetos;
H Herança;
 Associações;
 Agregação;
 Composição;
 Encapsulamento;
 Métodos;
 Polimorfismo;
 Interface.
Classe
Segundo Yourdon:
“Classe é uma descrição de um ou mais
objetos com conjunto uniforme de atributos
e serviços, incluindo uma descrição de
como criar novos objetos na classe”.
Classe
A classe é a construção mais importante na
orientação a objeto, em que cada classe
pode conter: nome, atributo e Método.
Nome: o nome de uma classe é obrigatório
e é utilizado para identificá-la diante das
outras. Os nomes das classes são
substantivos ou expressões breves,
definidos a partir do vocabulário do
sistema.
Atributo de uma Classe
Atributo: é propriedade nomeado de uma
classe que descreve um intervalo de
valores cujas instâncias podem apresentar,
sendo ele uma abstração do tipo de dado
ou do estado que os objetos podem
abrangerabranger.
Método de uma Classe
O método é a implementação de um serviço
a ser solicitado compartilhado por todos os
objetos dentro da classe.
O método pode expressar o comportamento
que um objeto apresentar.
Objetos
Um objeto pode ser um lugar, evento, coisa,
relatório ou conceito que possa ser
aplicado ao sistema, sendo uma abstração,
algo que possui um limite nítido e
simplificado em relação ao problema.
O objeto facilita a compreensão do mundo
real, e oferece a base para a implementação
do mundo real no computador.
Herança
A herança mostra a igualdade entre as
classes, podendo ser feita a simplificação
da definição de classes iguais a outras que
já foram definidas. Com isso, é possível
representar a generalização e
especialização tornando visíveis osespecialização, tornando visíveis os
atributos e serviços que são comuns em
uma hierarquia de classes. A herança pode
ser entendida como um relacionamento
entre uma superclasse (classe mãe), e um
tipo mais específico chamado de subclassetipo mais específico chamado de subclasse
(classe filha). A classe filha herda as
características da mãe e pode adicionar
novas estruturas ou
comportamentos.
Exemplos de herança
Simples: uma classe herda as
características apenas de uma classe mãe;
Composta: uma classe herda as
características de mais de uma classe mãe.
Associações
As associações são relacionamentos fracos
entre os objetos.
Na UML, uma associação pode ser
representada como uma linha que liga uma
classe a outra.
Agregação
A agregação representa um exemplo de
relacionamento do tipo “tem um”,
significando que o objeto do todo contém
os objetos das partes. Algumas vezes, um
objeto é constituído por outros objetos.
Composição
É um caso particular de agregação,
utilizado principalmente para evidenciar
uma forte conotação de propriedade.
Também especifica que o objeto tem um
ciclo de vida, e, quando ele é destruído, as
partes também são.
Encapsulamento
Por meio do encapsulamento, podemos
ocultar detalhes referentes à
implementação do objeto, protegendo os
dados contra a adulteração, pois eles só
podem ser acessados pelo próprio objeto,
pelos seus métodospelos seus métodos.
Métodos
Os métodos são as operações de uma
classe. Eles são formados por interfaces
que descrevem as características externas
do método e pela implementação, que
contém o código efetivo para a operação.
Polimorfismo
O polimorfismo permite tratar instâncias de
várias classes da mesma forma dentro do
sistema.
Ex: O objeto “Francisco” pode ser um
estudante, um registro ou mesmo um
Écoordenador. É interessante para os outros
objetos saberem que tipo de pessoa
Francisco é. O esforço no desenvolvimento
seria reduzido se outros tipos de objetos
tratassem o objeto pessoa da mesma
forma não existindo códigos separadosforma, não existindo códigos separados
para cada tipo.
Interface
A interface é um contrato de
implementação de métodos de uma classe,
que implementa uma interface, e deve
implementar todos os métodos que são
especificados pela interface.p p
Conclusão
A análise orientada a objeto tem como
principal objetivo fazer com que o mundo
computacional torne-se o mais próximo
possível do mundo real.
Com o auxílio de todos os conceitos que
citamos, é possível representar
computacionalmente os objetos do mundo
real e classificá-los em classes
reconhecíveis.
Interatividade
Um dos principais problemas na utilização
da Metodologia Orientada a Objetos é:
a) Uso errado dos Métodos;
b) Exige uma melhor concentração na
análise e no projeto do sistema;análise e no projeto do sistema;
c) Indisposição da Alta direção;
d) É uma metodologia Nova;
e) N.D.A.
Análise, Definição e Especificação
dos Requisitos
A análise de requisitos busca compreender
os requisitos solicitados pelo cliente para a
construção dos sistemas de informação. É
nela que são descritas as abordagens
utilizadas para descobrir os requisitos,
envolvendo uma equipe técnica que emenvolvendo uma equipe técnica que, em
conjunto com os usuários do sistema,
estabelece um domínio da aplicação do
sistema.
Neste processo de análise, usuários como
gerentes engenheiros de manutenção egerentes, engenheiros de manutenção e
especialistas de domínio também estão
envolvidos, sendo conhecidos como
STAKEHOLDERS.
Problemas na análise
 O usuário do sistema não possui uma
idéia concreta do que deseja, e, mesmo
sabendo, existe uma grande dificuldade
em se expressar.
 O usuário tenta expressar-se utilizando
seus próprios termos, supondo que o
desenvolvedor sabe o que ele está
falando.
 Como os requisitos são definidos por
diferentes usuários, surgem diversos
conflitos, difíceis de serem descobertos,
pois os usuários expressam-se de
formas diferentes.
Processo de Análise dos Requisitos
Deve ser estabelecida uma compreensão
sistemática. O modelo é composto pelas
Seguintes atividades:
Compreensão do domínio: é estabelecido
um entendimento do domínio da aplicação,
em que se deve descobrir o maior número
de informações possível.
Coleção de requisitos: é feito um processo
de interação com os usuários envolvidos,
com a intenção de identificar os requisitos.
Atividades do Modelo
 Classificação: classificar a lista de
requisitos em categorias coerentes.
 Resolução de Conflitos: identificação e
resolução de requisitos, decidindo o que
fazer quando os requisitos solicitados
por um usuário entram em conflito com
outros já existentes.
 Priorização: definir quais requisitos
possuem uma escala maior de
prioridade.
 Validação: verificar se o conjunto de
requisitos é compatível com os
solicitados pelos usuários.
Atividades do Modelo
Durante a atividade de análise, três
atividades podem ser desenvolvidas:
 Particionamento: identifica o
relacionamento estrutural entre as
atividades.
 Abstração: identifica a generalidade
entre as atividades.
 Projeção: identifica as diferentes formas
possíveis de enxergar o mesmo
problema.problema.
Requisitos Funcionais
Representam algo que o sistema deve fazer
por meio de uma função do sistema que
agregue valor ao usuário que o está
utilizando.
Ex:Emissão de relatório ou a realização de
um cadastro.
Os eventos essenciais têm como função
principal a definição de todos os requisitos
Funcionais existentes no sistema,
respondendo a todos os eventos.
Requisitos não-funcionais
Abordam a forma como os requisitos
funcionais podem ser alcançados,
definindo restrições e propriedades de um
sistema.
Alguns requisitos não-funcionais também
são conhecidos como requisitos de
qualidade, responsáveis por exigir
resistência e robustez do sistema.
EX: a velocidade e a sua
transportabilidade.
Outros tipos de Requisitos
Restrições do projeto: limites impostos
para que o sistema seja capaz de funcionar
no seu ambiente de operação:
 Hardware • Software • Rede
 Características técnicasCaracterísticas técnicas
Impulsionadores do projeto: forças que
fazem o projeto acontecer. Os
impulsionadores são geradores de
requisitos funcionais e não-funcionais.
Assuntos do projeto: completam o quadroAssuntos do projeto: completam o quadro
dos fatores que dizem respeito ao sucesso
ou fracasso do sistema.
Verdadeiras ou Falsos
Q d i t d i lQuando um sistema deve cumprir qualquer
tecnologia de implementação escolhida, é
considerado um requisito verdadeiro, mas
quando o sistema cumpre suas finalidades
sem que um requisito seja implementado,
este é considerado um requisito falsoeste é considerado um requisito falso.
Requisitos tecnológicos falsos:
 Tecnologias futuras ou passadas;
 Linguagens a serem utilizadas;
Requisitos arbitrários falsos:Requisitos arbitrários falsos:
 Influência de ferramentas de modelagem;
 Preciosismo;
 Ferramentas hipotéticas no
sistema.
Requisitos Falsos
A introdução dos requisitos falsos no
sistema aumenta os riscos de o projeto não
ser completado, pois um requisito falso
pode acabar mascarando um requisito
verdadeiro.
Para garantir o sucesso de um projeto,
devemos buscar apenas os requisitos
verdadeiros, mas não é uma tarefa fácil,
pois um sistema implementado só com
requisitos verdadeiros é considerado um
sistema tecnologicamente perfeitosistema tecnologicamente perfeito.
Descrições de Requisitos
 Identificador
 Tipo
 Evento ao qual atende
 Descrição
 Justificativa
 Fonte do requisito
 Critérios de aceitação
 Satisfação do usuário
I ti f ã d á i Insatisfação do usuário
 Dependências
 Conflitos
Levantamentos de requisitos
O levantamento dos requisitos aborda as
expectativas do sistema, seguindo-se a
validação e a consolidação de todas as
expectativas em requisitos formais. Essas
diferentes visões implicam projetar esses
interesses e conciliá losinteresses e conciliá-los.
Busca de fatos
Coletas e Classificação de Requisitos
Racionalização e Avaliação
PriorizaçãoPriorização
Integração e Validação
Ilustrando
Interatividade
Um Sistema de Marketing exigiria os
seguintes requisitos:
a) Produtos em Estoque;
b) Vendas de um determinado período;
c) Pontos de vendas de um produto;c) Pontos de vendas de um produto;
d) Fabricação no ano;
e) Todos os requisitos anteriores.
Modelagem de Casos de Uso
Os Modelos mostram como os valores são
processados, sem preocupações com:
 Ordenamento (sequência) das ações;
 As decisões;
 As estruturas dos objetos; As estruturas dos objetos;
 Dependência de valores entre si e quais
as funções que os relacionam.
Modelagem Funcional
Etapas para Modelagem Funcional
 Identificar as requisições de entrada e
saída;
 Construir diagramas mostrando as
dependências funcionais;dependências funcionais;
 Descrever as funções (casos de uso);
 Identificar as restrições.
Diagrama de Casos de Uso
O diagrama de casos de uso exerce um
papel importante na análise de Sistemas:
1. É o principal diagrama para ser usado
no diálogo com o usuário na descoberta
e validação de requisitos;
2. Os casos de uso constituem elementos
que estruturam todas as etapas do
processo de software.
Analogia com Controle Remoto
Tipos de Interação
Comunicação
Representa quais atores estão ligados a
quais casos de uso e é representada pro
um arco simples
Usuário
telefone
Tipos de Interação
Inclusão
Um caso inclui outro
Representada através de um arco
pontilhado
ExtensãoExtensão
Um caso de uso pode opcionalmente
utilizar um outro
DFD e Diagramas de Caso de Uso
possuem similaridades
Os DFDs são mais complexos em virtude
da maior quantidade de itens
Entidades externas
Depósitos de Dados
Fluxos de DadosFluxos de Dados
Os casos de Uso não descrevem fluxo de
Dados
Comentário Final
Os casos de uso são elementos muito
importantes na modelagem de um sistema
baseado em Processo Unificado.
Todas as atividades de desenvolvimento
são organizadas em função dos casos de
uso.
Interatividade
Os Casos de Uso são muito importantes
para:
a) Promover a interação dos atores com o
sistema;
b) Realçar a importância do Sistema;b) Realçar a importância do Sistema;
c) Concluir a modelagem de Dados;
d) Interagir com os usuários;
e) Todos os itens anteriores.
ATÉ A PRÓXIMA!

Weitere ähnliche Inhalte

Was ist angesagt?

Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
Suissa
 
Uml
UmlUml
Uml
lcbj
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
Marco Coelho
 
Mvc
MvcMvc
Mvc
lcbj
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweight
Mateus Amaral
 

Was ist angesagt? (20)

Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
Cs 2
Cs 2Cs 2
Cs 2
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
DCI com PHP
DCI com PHPDCI com PHP
DCI com PHP
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe[CEFET][ESw] Aula 5 - Diagrama de Classe
[CEFET][ESw] Aula 5 - Diagrama de Classe
 
Uml
UmlUml
Uml
 
MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!MVC já era! O negócio é DCI!
MVC já era! O negócio é DCI!
 
Análise e Modelagem com UML
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UML
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de softwareAplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
Aplicação de Padrões de Projeto para a melhoria da manutenabilidade de software
 
Uml ppoint
Uml ppointUml ppoint
Uml ppoint
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Curso Básico de UML
Curso Básico de UMLCurso Básico de UML
Curso Básico de UML
 
Mvc
MvcMvc
Mvc
 
Seminário flyweight
Seminário flyweightSeminário flyweight
Seminário flyweight
 
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de ClassesModelagem de Sistemas de Informação 08 - Diagrama de Classes
Modelagem de Sistemas de Informação 08 - Diagrama de Classes
 
Modelando Sistemas com UML
Modelando Sistemas com UMLModelando Sistemas com UML
Modelando Sistemas com UML
 

Ähnlich wie Sld 4

Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
robinhoct
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
ssuser7025cf
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
taniamaciel
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
Lucas Simões Maistro
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
oliveiraprog
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
emcp11
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
Jhonefj
 

Ähnlich wie Sld 4 (20)

Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
Introdução à programação por objectos final
Introdução à programação por objectos finalIntrodução à programação por objectos final
Introdução à programação por objectos final
 
Paradigma de orientação a objetos -
Paradigma de orientação a objetos - Paradigma de orientação a objetos -
Paradigma de orientação a objetos -
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Programação Orientado a Objetos
Programação Orientado a ObjetosProgramação Orientado a Objetos
Programação Orientado a Objetos
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Paradigma Orientado a Objetos
Paradigma Orientado a ObjetosParadigma Orientado a Objetos
Paradigma Orientado a Objetos
 
Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
Usando serviços Web semânticos e agentes de software num framework para adapt...
Usando serviços Web semânticos e agentes de software num framework para adapt...Usando serviços Web semânticos e agentes de software num framework para adapt...
Usando serviços Web semânticos e agentes de software num framework para adapt...
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 

Mehr von spawally

Gerenciamento de infraestrutura 19032010 (corrigido) 1
Gerenciamento de infraestrutura 19032010 (corrigido) 1Gerenciamento de infraestrutura 19032010 (corrigido) 1
Gerenciamento de infraestrutura 19032010 (corrigido) 1
spawally
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4
spawally
 
modelagem sistema da informação Unid 2
modelagem sistema da informação Unid 2modelagem sistema da informação Unid 2
modelagem sistema da informação Unid 2
spawally
 
modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1
spawally
 

Mehr von spawally (8)

Gerenciamento de infraestrutura 19032010 (corrigido) 1
Gerenciamento de infraestrutura 19032010 (corrigido) 1Gerenciamento de infraestrutura 19032010 (corrigido) 1
Gerenciamento de infraestrutura 19032010 (corrigido) 1
 
Sld 3
Sld 3Sld 3
Sld 3
 
Sld 2
Sld 2Sld 2
Sld 2
 
Sld 1
Sld 1Sld 1
Sld 1
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
modelagem sistema da informação Unid 2
modelagem sistema da informação Unid 2modelagem sistema da informação Unid 2
modelagem sistema da informação Unid 2
 
modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1modelagem sistema da informação Unid 1
modelagem sistema da informação Unid 1
 

Sld 4

  • 1. Unidade IV MODELAGEM DE SISTEMAS DE INFORMAÇÃOSISTEMAS DE INFORMAÇÃO Prof. Daniel Arthur Gennari Junior
  • 2. Sobre esta aula  Análise Orientada a Objetos  Análise, Definição e Especificação de Requisitos  Modelagem de Casos de Uso
  • 3. Análise Orientada a Objetos Inicialmente observamos, como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não podemos explicar porque demorou tanto tempo para se aplicarem esses conceitos na análise e especificações dos sistemas de informação.
  • 4. Análise Orientada a Objetos Leva em consideração que:  Produto da equipe é um software.  A satisfação dos Propósitos passa por uma interação com os usuários de forma organizada e com isso expõe osorganizada e com isso expõe os requisitos reais do sistema.  Esse software só terá uma qualidade de longa duração se a sua arquitetura aceitar modificações.
  • 5. Modelagem É tida como a parte central de todas as atividades para a construção de um bom Sistema. Com ela podemos:  Construir modelos que comunicam a estrutura e o comportamento do sistema;  Construir modelos que visualizam e controlam a arquitetura do Sistema;  Construir modelos que gerenciam os riscos;  Construir modelos que propiciam a Construir modelos que propiciam a simplificação e reaproveitamento de sistemas.
  • 6. Modelagem Orientada a Objetos Segundo James Rumbaugh: “A modelagem baseada em objeto é tida como um novo modo de estudar problemas com a utilização de modelos que são fundamentados em conceitos do mundo real. A estrutura básica é o objeto, que combina a estrutura e o comportamento dos dados em uma única entidade. São úteis para a compreensão dep p problemas, para a comunicação com os peritos em aplicações, para modelar empresas, preparar documentações e projetar programas e bases de dados”.
  • 7. Principais vantagens da análise OO  Melhor entendimento do problema a ser resolvido;  Maior flexibilidade entre os blocos independentes que são produzidos;  Boa divisão do trabalho entre diferentesBoa divisão do trabalho entre diferentes equipes de desenvolvimento;  Melhor participação dos usuários no processo de desenvolvimento do sistema;  Ajuda a trabalhar com aplicativos Ajuda a trabalhar com aplicativos complexos.
  • 8. Principais problemas encontrados na análise OO  Exige uma melhor concentração na análise e no projeto do sistema;  Mudança na cultura de desenvolvimento;  Os benefícios são evidenciados a longo prazo.prazo.
  • 9. Interatividade A Modelagem de Sistemas é uma atividade que pressupõe a utilização de: a) Metodologias e procedimentos; b) Softwares e Frameworks; c) Bases de comparação;c) Bases de comparação; d) Bases de interação com o Sistema; e) N.D.A.
  • 10. Conceitos de Orientação a Objeto O it bá i d i t ãOs conceitos básicos de orientação a objeto permitem a definição de:  Classes;  Objetos; H Herança;  Associações;  Agregação;  Composição;  Encapsulamento;  Métodos;  Polimorfismo;  Interface.
  • 11. Classe Segundo Yourdon: “Classe é uma descrição de um ou mais objetos com conjunto uniforme de atributos e serviços, incluindo uma descrição de como criar novos objetos na classe”.
  • 12. Classe A classe é a construção mais importante na orientação a objeto, em que cada classe pode conter: nome, atributo e Método. Nome: o nome de uma classe é obrigatório e é utilizado para identificá-la diante das outras. Os nomes das classes são substantivos ou expressões breves, definidos a partir do vocabulário do sistema.
  • 13. Atributo de uma Classe Atributo: é propriedade nomeado de uma classe que descreve um intervalo de valores cujas instâncias podem apresentar, sendo ele uma abstração do tipo de dado ou do estado que os objetos podem abrangerabranger.
  • 14. Método de uma Classe O método é a implementação de um serviço a ser solicitado compartilhado por todos os objetos dentro da classe. O método pode expressar o comportamento que um objeto apresentar.
  • 15. Objetos Um objeto pode ser um lugar, evento, coisa, relatório ou conceito que possa ser aplicado ao sistema, sendo uma abstração, algo que possui um limite nítido e simplificado em relação ao problema. O objeto facilita a compreensão do mundo real, e oferece a base para a implementação do mundo real no computador.
  • 16. Herança A herança mostra a igualdade entre as classes, podendo ser feita a simplificação da definição de classes iguais a outras que já foram definidas. Com isso, é possível representar a generalização e especialização tornando visíveis osespecialização, tornando visíveis os atributos e serviços que são comuns em uma hierarquia de classes. A herança pode ser entendida como um relacionamento entre uma superclasse (classe mãe), e um tipo mais específico chamado de subclassetipo mais específico chamado de subclasse (classe filha). A classe filha herda as características da mãe e pode adicionar novas estruturas ou comportamentos.
  • 17. Exemplos de herança Simples: uma classe herda as características apenas de uma classe mãe; Composta: uma classe herda as características de mais de uma classe mãe.
  • 18. Associações As associações são relacionamentos fracos entre os objetos. Na UML, uma associação pode ser representada como uma linha que liga uma classe a outra.
  • 19. Agregação A agregação representa um exemplo de relacionamento do tipo “tem um”, significando que o objeto do todo contém os objetos das partes. Algumas vezes, um objeto é constituído por outros objetos.
  • 20. Composição É um caso particular de agregação, utilizado principalmente para evidenciar uma forte conotação de propriedade. Também especifica que o objeto tem um ciclo de vida, e, quando ele é destruído, as partes também são.
  • 21. Encapsulamento Por meio do encapsulamento, podemos ocultar detalhes referentes à implementação do objeto, protegendo os dados contra a adulteração, pois eles só podem ser acessados pelo próprio objeto, pelos seus métodospelos seus métodos.
  • 22. Métodos Os métodos são as operações de uma classe. Eles são formados por interfaces que descrevem as características externas do método e pela implementação, que contém o código efetivo para a operação.
  • 23. Polimorfismo O polimorfismo permite tratar instâncias de várias classes da mesma forma dentro do sistema. Ex: O objeto “Francisco” pode ser um estudante, um registro ou mesmo um Écoordenador. É interessante para os outros objetos saberem que tipo de pessoa Francisco é. O esforço no desenvolvimento seria reduzido se outros tipos de objetos tratassem o objeto pessoa da mesma forma não existindo códigos separadosforma, não existindo códigos separados para cada tipo.
  • 24. Interface A interface é um contrato de implementação de métodos de uma classe, que implementa uma interface, e deve implementar todos os métodos que são especificados pela interface.p p
  • 25. Conclusão A análise orientada a objeto tem como principal objetivo fazer com que o mundo computacional torne-se o mais próximo possível do mundo real. Com o auxílio de todos os conceitos que citamos, é possível representar computacionalmente os objetos do mundo real e classificá-los em classes reconhecíveis.
  • 26. Interatividade Um dos principais problemas na utilização da Metodologia Orientada a Objetos é: a) Uso errado dos Métodos; b) Exige uma melhor concentração na análise e no projeto do sistema;análise e no projeto do sistema; c) Indisposição da Alta direção; d) É uma metodologia Nova; e) N.D.A.
  • 27. Análise, Definição e Especificação dos Requisitos A análise de requisitos busca compreender os requisitos solicitados pelo cliente para a construção dos sistemas de informação. É nela que são descritas as abordagens utilizadas para descobrir os requisitos, envolvendo uma equipe técnica que emenvolvendo uma equipe técnica que, em conjunto com os usuários do sistema, estabelece um domínio da aplicação do sistema. Neste processo de análise, usuários como gerentes engenheiros de manutenção egerentes, engenheiros de manutenção e especialistas de domínio também estão envolvidos, sendo conhecidos como STAKEHOLDERS.
  • 28. Problemas na análise  O usuário do sistema não possui uma idéia concreta do que deseja, e, mesmo sabendo, existe uma grande dificuldade em se expressar.  O usuário tenta expressar-se utilizando seus próprios termos, supondo que o desenvolvedor sabe o que ele está falando.  Como os requisitos são definidos por diferentes usuários, surgem diversos conflitos, difíceis de serem descobertos, pois os usuários expressam-se de formas diferentes.
  • 29. Processo de Análise dos Requisitos Deve ser estabelecida uma compreensão sistemática. O modelo é composto pelas Seguintes atividades: Compreensão do domínio: é estabelecido um entendimento do domínio da aplicação, em que se deve descobrir o maior número de informações possível. Coleção de requisitos: é feito um processo de interação com os usuários envolvidos, com a intenção de identificar os requisitos.
  • 30. Atividades do Modelo  Classificação: classificar a lista de requisitos em categorias coerentes.  Resolução de Conflitos: identificação e resolução de requisitos, decidindo o que fazer quando os requisitos solicitados por um usuário entram em conflito com outros já existentes.  Priorização: definir quais requisitos possuem uma escala maior de prioridade.  Validação: verificar se o conjunto de requisitos é compatível com os solicitados pelos usuários.
  • 31. Atividades do Modelo Durante a atividade de análise, três atividades podem ser desenvolvidas:  Particionamento: identifica o relacionamento estrutural entre as atividades.  Abstração: identifica a generalidade entre as atividades.  Projeção: identifica as diferentes formas possíveis de enxergar o mesmo problema.problema.
  • 32. Requisitos Funcionais Representam algo que o sistema deve fazer por meio de uma função do sistema que agregue valor ao usuário que o está utilizando. Ex:Emissão de relatório ou a realização de um cadastro. Os eventos essenciais têm como função principal a definição de todos os requisitos Funcionais existentes no sistema, respondendo a todos os eventos.
  • 33. Requisitos não-funcionais Abordam a forma como os requisitos funcionais podem ser alcançados, definindo restrições e propriedades de um sistema. Alguns requisitos não-funcionais também são conhecidos como requisitos de qualidade, responsáveis por exigir resistência e robustez do sistema. EX: a velocidade e a sua transportabilidade.
  • 34. Outros tipos de Requisitos Restrições do projeto: limites impostos para que o sistema seja capaz de funcionar no seu ambiente de operação:  Hardware • Software • Rede  Características técnicasCaracterísticas técnicas Impulsionadores do projeto: forças que fazem o projeto acontecer. Os impulsionadores são geradores de requisitos funcionais e não-funcionais. Assuntos do projeto: completam o quadroAssuntos do projeto: completam o quadro dos fatores que dizem respeito ao sucesso ou fracasso do sistema.
  • 35. Verdadeiras ou Falsos Q d i t d i lQuando um sistema deve cumprir qualquer tecnologia de implementação escolhida, é considerado um requisito verdadeiro, mas quando o sistema cumpre suas finalidades sem que um requisito seja implementado, este é considerado um requisito falsoeste é considerado um requisito falso. Requisitos tecnológicos falsos:  Tecnologias futuras ou passadas;  Linguagens a serem utilizadas; Requisitos arbitrários falsos:Requisitos arbitrários falsos:  Influência de ferramentas de modelagem;  Preciosismo;  Ferramentas hipotéticas no sistema.
  • 36. Requisitos Falsos A introdução dos requisitos falsos no sistema aumenta os riscos de o projeto não ser completado, pois um requisito falso pode acabar mascarando um requisito verdadeiro. Para garantir o sucesso de um projeto, devemos buscar apenas os requisitos verdadeiros, mas não é uma tarefa fácil, pois um sistema implementado só com requisitos verdadeiros é considerado um sistema tecnologicamente perfeitosistema tecnologicamente perfeito.
  • 37. Descrições de Requisitos  Identificador  Tipo  Evento ao qual atende  Descrição  Justificativa  Fonte do requisito  Critérios de aceitação  Satisfação do usuário I ti f ã d á i Insatisfação do usuário  Dependências  Conflitos
  • 38. Levantamentos de requisitos O levantamento dos requisitos aborda as expectativas do sistema, seguindo-se a validação e a consolidação de todas as expectativas em requisitos formais. Essas diferentes visões implicam projetar esses interesses e conciliá losinteresses e conciliá-los. Busca de fatos Coletas e Classificação de Requisitos Racionalização e Avaliação PriorizaçãoPriorização Integração e Validação
  • 40. Interatividade Um Sistema de Marketing exigiria os seguintes requisitos: a) Produtos em Estoque; b) Vendas de um determinado período; c) Pontos de vendas de um produto;c) Pontos de vendas de um produto; d) Fabricação no ano; e) Todos os requisitos anteriores.
  • 41. Modelagem de Casos de Uso Os Modelos mostram como os valores são processados, sem preocupações com:  Ordenamento (sequência) das ações;  As decisões;  As estruturas dos objetos; As estruturas dos objetos;  Dependência de valores entre si e quais as funções que os relacionam.
  • 42. Modelagem Funcional Etapas para Modelagem Funcional  Identificar as requisições de entrada e saída;  Construir diagramas mostrando as dependências funcionais;dependências funcionais;  Descrever as funções (casos de uso);  Identificar as restrições.
  • 43. Diagrama de Casos de Uso O diagrama de casos de uso exerce um papel importante na análise de Sistemas: 1. É o principal diagrama para ser usado no diálogo com o usuário na descoberta e validação de requisitos; 2. Os casos de uso constituem elementos que estruturam todas as etapas do processo de software.
  • 45. Tipos de Interação Comunicação Representa quais atores estão ligados a quais casos de uso e é representada pro um arco simples Usuário telefone
  • 46. Tipos de Interação Inclusão Um caso inclui outro Representada através de um arco pontilhado ExtensãoExtensão Um caso de uso pode opcionalmente utilizar um outro
  • 47. DFD e Diagramas de Caso de Uso possuem similaridades Os DFDs são mais complexos em virtude da maior quantidade de itens Entidades externas Depósitos de Dados Fluxos de DadosFluxos de Dados Os casos de Uso não descrevem fluxo de Dados
  • 48. Comentário Final Os casos de uso são elementos muito importantes na modelagem de um sistema baseado em Processo Unificado. Todas as atividades de desenvolvimento são organizadas em função dos casos de uso.
  • 49. Interatividade Os Casos de Uso são muito importantes para: a) Promover a interação dos atores com o sistema; b) Realçar a importância do Sistema;b) Realçar a importância do Sistema; c) Concluir a modelagem de Dados; d) Interagir com os usuários; e) Todos os itens anteriores.