25/04/2011 professor leomir j. borba- http:professorleomir ... · estruturada x essencial x...

10
20/08/2012 25/04/2011 Professor Leomir J. Borba- [email protected]http:professorleomir.wordpress.com 1 20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 3 1 20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2 Agenda Caracterização da atividade de Análise de Sistemas: conceitos, importância, impactos e desafios; Contraposição entre as abordagens de Análise: Estruturada, Informação e Objeto. 20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 3 Caracterização de Análise de Sistemas Análise: Exame de cada parte de um todo. Objetivo de conhecer a natureza do problema e as funções que este venha a executar. Estrutura: Reunião das partes ou elementos. O modo como as partes se relacionam dá ao sistema características próprias. 20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 4 A analise estruturada é : Conjunto de técnicas e ferramentas cujo objetivo é auxiliar na análise e definição de sistemas Conceito fundamental construção de um modelo do sistema utilizando técnicas gráficas A metodologia envolve a construção top-downdo sistema por refinamentos sucessivos 4

Upload: truongmien

Post on 28-Jan-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 1

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1

CIÊNCIA DA COMPUTAÇÃO

DESENVOLVIMENTO DE SISTEMAS

Aula 3

1 20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2

Agenda

Caracterização da atividade de Análise de Sistemas: conceitos, importância, impactos e desafios;

Contraposição entre as abordagens de Análise: Estruturada, Informação e Objeto.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 3

Caracterização de Análise de Sistemas

• Análise:

Exame de cada parte de um todo.

Objetivo de conhecer a natureza do problema e as funções que este venha a executar.

• Estrutura:

Reunião das partes ou elementos.

O modo como as partes se relacionam dá ao sistema características próprias.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 4

A analise estruturada é : Conjunto de técnicas e ferramentas cujo

objetivo é auxiliar na análise e definição de sistemas

Conceito fundamental construção de um modelo do sistema utilizando técnicas gráficas

A metodologia envolve a construção “top-down” do sistema por refinamentos sucessivos

4

Page 2: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 2

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 5

A análise estruturada objetiva:

• Facilitar a comunicação entre o usuário,

analistas e projetistas;

• Criar um modelo móvel;

• Produzir uma especificação de sistema rotativa e melhorada;

• Resolver dificuldades etapa por etapa.

5

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 6

Especificando 6

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 7

Finalidade

A análise estruturada tem como finalidade retratar fluxo e o conteúdo das

informações utilizadas pelo sistema, dividir o mesmo em partições funcionais e

comportamentais e ainda descrever a essência daquilo que será construído.

7

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 8

O Analista

• Traços característicos:

Capacidade de compreender conceitos abstratos, reorganizá-los em divisões lógicas e sintetizar "soluções" baseadas em cada divisão.

Capacidade de absorver fatos pertinentes de fontes conflitantes ou confusas.

Capacidade de entender os ambientes do usuário/cliente.

8

Page 3: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 3

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 9

9

O analista serve de intermediário entre a comunidade de usuários e a comunidade de programadores

☺ Comunica-se com o

usuário/cliente a fim de

conhecer as características do

ambiente existente.

☺ Convoca o pessoal de

desenvolvimento durante as

tarefas de avaliação e síntese,

de forma que as características

do software sejam

corretamente definidas.

O analista geralmente é o responsável pelo desenvolvimento de uma

Especificação de Requisitos de Software e participa de todas as revisões.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 10

Entrevistas 10

Motivos:

● Necessidade de coletar informações sobre o comportamento de um sistema

atual ou sobre requisitos de um novo sistema;

● Necessidade de verificar a própria compreensão, como analista de sistemas, do

comportamento de um sistema atual ou dos requisitos de um novo sistema.

● Necessidade de coletar informações sobre o sistema atual para execução de

estudos de custo-benefício.

O analista procede diversas

entrevistas com usuários, gerentes,

programadores que fazem a manutenção

de um sistema já existente, entre outras

pessoas.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 11

Problemas fundamentais

• Apesar de parecer um processo simples, muitos problemas podem ocorrer em uma entrevista.

• Em muitos projetos de alta tecnologia, a maioria dos problemas difíceis não envolvem hardware ou software, mas sim o “peopleware”, ou seja, nas pessoas.

11

É bom lembrar que as técnicas de análise estruturada de sistemas estão em constante evolução, e portanto o futuro analista de sistemas não deve decorá-las, mas entender a filosofia de trabalho.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 12

Problemas fundamentais

• O analista acha difícil aprender o bastante sobre a empresa para conseguir determinar os requisitos do sistema através dos olhos do usuário.

• Os usuários ainda não conhecem o suficiente sobre PD para saberem o que é, ou não viável. Em geral, a propaganda a respeito dos computadores não proporciona às pessoas idéias específicas ou precisas sobre o que tais máquinas podem ou não fazer.

12

Page 4: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 4

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 13

Problemas fundamentais

• O documento que define os detalhes de um novo sistema (projeto geral) forma um contrato entre o usuário e o grupo de desenvolvimento. Apesar de muitas vezes ser impossível aos usuários entenderem, por causa de seu tamanho e dos conceitos técnicos associados a ele.

13

Se o documento da especificação for escrito de forma que os usuários entendam, poderá não ser muito útil para os projetistas e programadores que irão construir o sistema.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 14

Conclusões

A análise estruturada de sistemas é uma técnica que consiste em construir,

graficamente, um modelo lógico para o sistema de informações gerenciais.

14

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 15 15

Benefícios Problemas

Os usuários obtém uma idéia mais clara do sistema.

O esforço, a formalidade e o grau de detalhe necessários.

A apresentação em termos de fluxo lógico consegue mostrar

mal-entendidos e pontos controversos.

Tem havido certa preocupação por parte dos programadores .

As interfaces entre o novo sistema e outros já existentes são

mostrados de modo bem mais claro.

Orientação dos usuários e treinamento dos analistas é

necessário.

O uso de dicionário de dados para guardar os itens do glossário

do projeto economiza tempo.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 16

Importante

A análise estruturada dever ser usada apenas para problemas pequenos e

simples.

• Para sistemas maiores e mais complexos, pode ser usada para esboçar uma visão de alto nível do sistema.

16

Page 5: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 5

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 17

Analise Orientada a Objeto

• Introdução

Cenário

• Mudança do enfoque das funções para os dados

• Preocupação em modelar de forma mais detalhada o sistema

• Análise mais próxima da realidade

• Facilidade na comunicação com o usuário

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 18

Analise Orientada a Objeto

• Objetos como entidades do mundo real • Objetos com estrutura e comportamento e que se comunicam • Dificuldades em fazer alterações nas estruturas de dados nas

abordagens tradicionais • “Se eu alterar a definição desse dado, quais programas serão

afetados?” • Trabalha com conceitos já conhecidos - Modularidade,

Abstração, Encapsulamento, Mascarar informações, etc

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 19

Analise Orientada a Objeto

• Orientação a objetos apesar de antiga não era utilizada por falta de pessoas treinadas, interesse em manter a cultura adquirida, ferramentas imaturas. Isso começa a se resolver.

• O mundo real é composto por objetos. Cada objeto tem propriedades e

comportamentos. Então por que não desenvolver programas que simulem no computador os objetos do mundo real com suas propriedades e comportamentos?

• Segundo Yourdon, “Um sistema construído usando um método Orientado a

Objetos é aquele cujos componentes são partes encapsuladas de dados e funções, que podem herdar atributos e comportamentos de outros componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensagens.”

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 20

Analise Orientada a Objeto

• Objetivo

– Encontrar os objetos, organizá-los, descrever como interagem através de mensagens, definir operações de seus comportamentos.

Page 6: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 6

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 21

Estruturada x Essencial x Orientada a Objeto

• Nos métodos tradicionais de análise, o comportamento do sistema e seus dados eram considerados separadamente. Com orientação a objetos, comportamento e dados são integrados, assim encapsulando detalhes internos de um objeto dos demais.

Análise

Estruturada e Essencial Orientada a Objetos

Enfoque

Conjunto de programas que executam processos sobre dados Conjunto de “entidades” que têm características e comportamentos próprios

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 22

Analise Orientada a Objeto • Características

– Concentra-se nos aspectos essenciais do objeto sem detalhamento, focando em suas características e o que ele faz;

– Impede que um sistema se torne tão interdependente que uma pequena

alteração ou implementação resulte em grandes alterações em sua estrutura; – Combina estrutura (dados) e comportamento (funções) em um único objeto; – Compartilha elementos estruturais e de comportamento com objetos de

níveis inferiores; – Enfatiza a estrutura de objetos ao invés da estrutura de procedimentos, ou

seja, o que o objeto é e não como ele é utilizado.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 23

Analise Orientada a Objeto

• Por que usar Orientação a Objetos? – Atualmente temos ferramentas completas para sua utilização (integrando

especificação e implementação)

– Praticamente todas as ferramentas novas de programação permitem suporte a sua utilização

– Qualidade melhor do software (se usada corretamente)

– Produtividade em função do reuso

– Produção de códigos mais fáceis de serem entendidos

– Adequada para a construção de sistemas distribuídos e para aplicações voltadas a Internet

– Permite acesso controlado às informações

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 24

Analise Orientada a Objeto

• Dificuldades

– Usuários não pensam seus problemas de forma orientada a objetos

– Requisitos não são orientados a objetos

Page 7: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 7

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 25

Analise Orientada a Objeto

• Conceitos – Objeto: Desde a mais tenra idade formamos conceitos. Cada

conceito é uma idéia ou um entendimento pessoal que temos de nosso mundo. Os conceitos que adquirimos nos permitem dar um sentido e raciocinar sobre as coisas de nosso mundo. Essas coisas as quais nossos conceitos se aplicam são denominados objetos. Um objeto pode ser real ou abstrato, ex.:

Uma fatura, uma organização, um avião...

– Classe: é a representação do objetos com seus atributos e métodos.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 26

Analise Orientada a Objeto

• Conceitos

– Atributos → são características que descrevem o objeto.

Ex: Objeto: cão → possui nome, idade, peso,cor dos olhos, comprimento dos pêlos, cor dos pelos, etc.

– Métodos ou serviços → as ações que um objeto pode executar.

Ex: latir, comer,sentar, dormir ,etc.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 27

Analise Orientada a Objeto

• Conceitos – Abstração →significa que, só deve ser representado aquilo que vai ser

usado.Pelo princípio da abstração nos objetos são representadas somente as características que são relevantes para o problema em questão

Ex: Cor dos olhos(toda pessoa tem) – não é relevante para um sistema de folha de pagamento.

– Encapsulamento →os dados e os processos que tratam esses dados estão “ encapsulados” numa única entidade. Os objetos agem como uma “caixa preta”, você utiliza sem precisar saber como ele funciona internamente.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 28

Analise Orientada a Objeto

• Conceitos – Hierarquia de classes – classe que tem características comuns e que

podem fazer parte de uma classe (categoria) maior.

– Ex.

mamíferos

cães gatos

Page 8: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 8

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 29

Analise Orientada a Objeto

• Conceitos – Classes ancestrais – classes das quais as outras

dependem.

– Classes descendentes – as classes originadas a partir de outra.

Animais

Aves Mamíferos Peixes Répteis

Caninos Felinos

cães Lobos Gatos Panteras

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 30

Analise Orientada a Objeto • Conceitos

– Classes Puras ou abstratas – são classes cujos objetos nunca são instanciados diretamente, mas sempre por uma classe descendente dela.

– Herança – significa que todos os atributos e métodos programados no ancestral já estarão automaticamente presentes em seus descendentes sem necessidade de reescrevê-los.

– Ex: uma pessoa pode ser um estudante ou um professor,sendo assim todos os atributos e métodos programados na classe pessoa automaticamente passarão para as classes estudante e professor.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 31

Analise Orientada a Objeto

Automóvel

Automóvel

esportivo

Porsche

Generalização

especificação

Herança

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 32

Analise Orientada a Objeto

• Conceitos – Polimorfismo – é o princípio relacionado com as diferentes formas de

um objeto.Operacionalmente, o polimorfismo pode ser visto conforme o exemplo abaixo, onde se pode instanciar o objeto janela de várias formas:

Janela ( )

Janela ( 1 x 2, 2)

Janela ( 1 x 2, 2, azul)

Page 9: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 9

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 33

Analise Orientada a Objeto

• Conceitos – Agregação – é um mecanismo que permite a construção de uma classe

agregada a partir de outras classes componentes. Ex. Casa

– Associação – é usada para agrupar certos objetos que ocorrem em algum ponto no tempo ou sob circunstâncias similares.Na AOO , a associação é modelada através de uma conexão de ocorrências. Uma conexão de ocorrência é um relacionamento que um objeto precisa ter com outro(s) objeto (s), para cumprir suas responsabilidades.Ex:

faz Estudante teste

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 34

Analise Orientada a Objeto • Identificando Classes e Objetos

– Os objetos modelam quase todos os aspectos identificáveis do domínio do problema: entidades externas, coisas,ocorrências,papéis, unidades organizacionais, lugares e estruturas; todos podem ser representados como objetos. Os objetos podem ser:

– Entidades externas: produzem ou consomem informações a serem usadas por um sistema baseado em computador.

– Coisas : elementos que fazem parte do domínio da informação do problema, tais como relatórios, cartas

– Papéis: desempenhados por elementos que interagem com o sistema. Ex.: vendedor, cliente,gerente...

– Unidades organizacionais: pertencem a organização.Ex: equipe

– Lugares: auxiliam na definição do contexto: Ex. piso da fábrica

– Estruturas: definem classes relacionadas com o sistema: Ex.: veículos, computadores, sensores....

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 35

Analise Orientada a Objeto

• Identificando objetos

– Lembre-se:Objeto é um conceito, uma abstração ou uma coisa, com limites e significados bem definidos, em relação ao problema considerado.

– Um objeto é geralmente identificado por um substantivo.

– Um objeto contém estrutura e comportamento.

– Cada objeto tem sua identidade

– Dois objetos são distintos, mesmo que eles apresentem as mesmas características.

» Ex: 1 dezena de automóveis Astra

» Cada automóvel é um objeto!

» Todos tem a mesma característica!

– Classes são fábricas de objetos...

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 36

Analise Orientada a Objeto

• Comunicação entre objetos

– Mensagens:

• Elemento usado para prover a comunicação entre objetos

• Definem:

– O nome do serviço requisitado

– A informação necessária para a execução do serviço

– O nome do requisitante

• Na prática, mensagens são implementadas como ativações de uma função definida no objeto chamado, onde:

– Nome é o nome da função.

– A informação é a lista de parâmetros.

– Requisitante é o objeto que realizou a chamada.

Page 10: 25/04/2011 Professor Leomir J. Borba- http:professorleomir ... · Estruturada x Essencial x Orientada a Objeto • Nos métodos tradicionais de análise, o comportamento do sistema

20/08/2012

25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 10

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 37

A análise, o projeto e a programação são atividades distintas

• A análise OO se preocupa com a modelagem dos objetos para o domínio da aplicação.

• O projeto OO se preocupa com o desenvolvimento de um modelo de sistema que implemente os requisitos definidos pela AOO.

• A programação OO se preocupa com a implementação do Projeto OO usando uma linguagem de programação OO.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 38

Analise Orientada a Objeto

• Vantagens – Fornece regras precisas para a modularização do sistema.

– Desenvolvimento de uma arquitetura mais estável, uma vez que se estrutura com base no modelo de dados utilizado, o qual apresenta pouca vulnerabilidade a mudanças na funcionalidade do sistema.

– Alto grau de reusabilidade das rotinas desenvolvidas.

– Maior facilidade de transição da fase de análise para a fase de projeto.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 39

Analise Orientada a Objeto • Prototipação

– As abordagens orientadas a objeto fazem protótipos mais flexíveis e facilmente automatizáveis.

– O OOD e a prototipação têm vínculos em comum pois; é uma maneira natural de trabalhar, experimenta-se a interface humana, para a clarificação dos requisitos procurados, para a praticidade do projeto, para a entrega, funcionalmente, tão cedo quanto possível.

20/08/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 40

Bibliografia BIBLIOGRAFIA BÁSICA

1 GUEDES, Gilleanes T.A. UML 2: Uma Abordagem Prática. 1ª Edição. São Paulo: Novatec, 2009.

2

WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas de Informação Orientados a Objetos. 2ª

Edição. Rio de Janeiro: Campus, 2010.

3

WEST, David; MCLAUGHLIN, Brett; POLLICE, Gary. Use a cabeça Análise & Projeto Orientado ao

Objeto. 1ª Edição. Rio de Janeiro: Alta Books, 2007.

BIBLIOGRAFIA COMPLEMENTAR

4

ARAUJO, Ricardo; LIMA, Cardoso André. UML Aplicada: Da teoria à implementação. 1ª Edição. Rio

de Janeiro: Ciência Moderna, 2007.

5 BOOCH, Grady; RUMBAUGH, James;, JACOBSON, Ivar. UML: Guia do Usuário. 1ª Edição. Rio de

Janeiro: Campus, 2006.

6

LARMAN, Craig. Utilizando UML e padrões: Uma introdução à análise e projeto orientados a

objetos e ao desenvolvimento iterativo. 3ª Edição. Porto Alegre: Bookman, 2007.

7

PAULA FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, métodos e padrões. 3ª

Edição. Rio de Janeiro: LTC, 2009.

8 SILVA, Nelson Peres da. Análise e Estruturas de Sistemas de Informação. 1ª Edição. São Paulo:

Érica, 2007.