View
1
Download
0
Category
Preview:
Citation preview
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 1
CIÊNCIA DA COMPUTAÇÃO
DESENVOLVIMENTO DE SISTEMAS
Aula 4
1
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 6
Especificando 6
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
Ao analista - Continuação
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
Conclusões - Continução
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 17
Analise Orientada a Objeto
Introdução
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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.”
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 25
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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 26
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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 27
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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 28
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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 29
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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 30
Analise Orientada a Objeto
Automóvel
Automóvel
esportivo
Porsche
Generalização
especificação
Herança
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 31
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)
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 32
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
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 33
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....
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 34
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...
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 35
Analise Orientada a Objeto
Comunicação entre objetos
Mensagens:
Elemento usado para prover a comunicação entre objetos
Definem:
O nome do serviço/método 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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 36
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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 37
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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 38
Analise Orientada a Objeto Prototipação As abordagens orientadas a objeto fazem
protótipos mais flexíveis e facilmente automatizáveis.
O OO 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.
28/02/2012 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com 39
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.
Recommended