Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Modelagem de Sistemas Prof. Valentino D´Ambrosi Jr. Seção 1 * * ACORDO CONTEÚDO ATIVIDADES REGRAS AVALIAÇÕES * * CONTROLE DE FREQUÊNCIA Controle Diário – 10 minutos após o início da primeira aula e 10 minutos antes do término da quarta aula. Esvaziamento da sala requer nova chamada a qualquer momento. Limite de faltas 12 (25% das aulas) Saída após a primeira chamada equivale a 2 faltas. Chegada após a chamada inicial dará direito ao aluno a 1 presença antes do intervalo e saída antes da segunda chamada também dará direito a somente uma presença após o intervalo. Abono com requerimento na secretaria (tratamento excepcional) * * Média de aprovação: 6,0 Avaliação contínua, ao longo do trimestre Mínimo de 75% de presença nas atividades Prova substitutiva de avaliações durante o trimestre (N1 e N2): direto com professor. SISTEMA DE AVALIAÇÃO * * Seção 1 Avaliação Final (U2) N1 Digitação de notas Seção 2 Seção 4 Seção 5 Seção 6 Seção 7 Seção 8 N2 U1 Seção 3 Digitação de notas na 5ª semana Estudo Dirigido = 20 % 40% 40% Média Aritmética COMPOSIÇÃO DE NOTAS * * Nossas aulas Seção 1 - 29/01/2014 Seção 2 - 05/02/2014 Seção 3 - 12/02/2014 – ED1 Seção 4 - 19/02/2014 Seção 5 - 21/02/2014 – N1 Seção 6 - 26/02/2014 –ED2 Seção 7 - 05/03/2014 Seção 8 – 12/03/2014 – N2 Seção 9 - 14/03/2014 – ED3 Seção 10 - 26/03/2014 – U2 * * ESTUDO DIRIGIDO Seção 2 - ED = ED1+ED2+ED3 * * IMPORTÂNCIA DA PARTICIPAÇÃO NAS AULAS explicação raciocínio Falta de interesse * * Introdução Modelo = é uma abstração de alguma coisa, que tem como propósito permitir o conhecimento dessa coisa antes de construí-la. Modelos são representações simplificadas de objetos, pessoas, itens, tarefas, conceitos, idéias, etc., usados comumente por pessoas no seu dia-a-dia, independente do uso de computadores. * * Introdução Podemos, por exemplo, construir modelos de hardware e software. Esta disciplina tem como objetivo a construção de modelos de software. * * Introdução A construção de sistemas complexos requer a construção de modelos que satisfaçam os requisitos do sistema. Ao longo do tempo o desenvolvedor deve acrescentar detalhes até transformar o modelo em uma implementação. * * Introdução Esta disciplina irá trabalhar: Técnicas para modelagem de um sistema, utilizando a modelagem baseada em objetos. Técnicas para documentação de um sistema. Conceitos básicos de orientação a objetos. Construção de modelos em UML (Linguagem Unificada de Modelagem). * * Orientação a Objetos - Conceitos * * Paradigma de Orientação a Objetos Um programa de computador implementa uma solução para um problema do mundo real. O paradigma de O.O. assume que o mundo é composto de objetos. Todo objeto em O.O. é composto por: Estado interno Comportamento * * Paradigma de Orientação a Objetos Estado Interno de um Objeto = serve para registrar e permitir ao objeto se lembrar do efeito de sua operação. Comportamento de um Objeto = é definido pelo seu conjunto de operações. As operações de um objeto são utilizadas para responder mensagens internas ou externas. O resultado de uma operação depende da mensagem recebida e do estado interno do objeto. * * Paradigma de Orientação a Objetos Mensagem = é a chamada a um dos métodos de um objeto. Troca de mensagens = são enviadas de um objeto a outro para que o objeto receptor produza algum resultado. A execução de uma operação pode provocar: Mudança no estado interno do objeto. Envio de novas mensagens. Criação de novos objetos. * * Conceitos - Classe Classe = é um modelo de objeto. Consiste de descrições de estado e métodos. Os métodos definem o comportamento dos objetos de uma classe. Os atributos definem o estado do objeto de uma determinada classe. Exemplos: Carro, Cachorro, Pessoa. * * Conceitos - Objeto Objeto = é uma instância de uma classe. Um objeto é capaz: Armazenar seu estado através dos atributos. Responder mensagens recebidas através de seus métodos. Enviar mensagens a outros objetos. Exemplos: Classe Cachorro Objetos Totó, Rex Classe Pessoa Objetos Maria, José * * Conceitos - Atributo Atributos = são as características de um objeto. O conjunto de atributos de um objeto é chamado de estado do objeto. Exemplos: Cachorro Cor, idade, nome. Carro Cor, marca, ano. Pessoa Data de Nascimento, nome, RG. * * Conceitos - Atributo Os atributos podem ser de instância ou de classe: Atributos de Classe são constantes com valores pré-definidos e que não sofrem alteração ao longo da execução. Atributos de Instância determinam o estado de cada objeto. * * Conceitos - Método Método = descrição das operações de um objeto. A relação que existe entre mensagens e métodos de um objeto é biunívoca. Uma mesma mensagem só pode resultar em métodos diferentes quando enviada para um objeto diferente. Exemplos: Carro: Ligar, desligar, correr Cachorro: Latir, comer, dormir * * Orientação a Objetos - Implementação * * Declaração de Classe Utilizamos a palavra reservada “class” seguida pelo nome da classe. Exemplo: class Cachorro{ //Declaracao de atributos //Declaracao de métodos } * * Declaração de Atributos Devem ser declarados antes dos métodos em uma classe. Cada atributo deve possuir um tipo. Exemplo: class Cachorro{ //Definicao de Atributos int idade; String cor, nome; ... } * * Declaração de Métodos Devem ser declarados depois dos atributos. Devem possuir um tipo de retorno. Se o método não retornar nada, seu tipo deve ser “void”. Exemplo: class Cachorro{ //Definicao Atributos //Definicao Metodos String retornaNome(){ ... } void latir(){ ... } } * * Declaração de Objeto Normalmente declaramos objetos no programa principal (main), mas também podemos declarar em outras classes. Exemplo: main(){ Cachorro rex; ... } * * Declaração de Objeto A declaração de um objeto não cria automaticamente uma instância da classe para ser armazenada no objeto declarado. Para instanciar um objeto devemos utilizar o operador “new”. Exemplo: main(){ Cachorro rex; rex = new Cachorro(); //Ou Cachorro rex = new Cachorro(); } * * Modelagem e Modelos * * Modelo Um modelo é um protótipo do sistema que será construído. Exemplos: Maquetes de casas e edifícios Modelos de aviões Versões preliminares • de livros E o que seria um modelo para software? Resposta: Desenhos gráficos que seguem algum padrão lógico. * * Modelo Esses desenhos gráficos são chamados de diagramas. Diagramas são partes do modelo Modelos também são compostos de informações textuais. Documentação do Modelo = conjunto de diagramas + sua descrição textual * * Modelo Objetivos de se criar um modelo de sistema, antes de implementar o sistema final: Testar o modelo antes de lhe dar forma final Comunicação com os clientes Visualização Resultado: Redução da complexidade * * Modelo Abstração é examinar os aspectos fundamentais de um problema. Objetivo = isolar aspectos que sejam importantes para algum propósito particular e suprimir os que não forem. Não há um único modelo correto para a solução de um problema e sim modelos adequados e inadequados. * * UML – Linguagem de Modelagem Unificada * * UML- História Os principais criadores da UML (Linguagem de Modelagem Unificada) foram os três amigos: * * UML - História No processo de definição da UML os três pesquisadores tentaram aproveitar o melhor das notações existentes. Utilizaram muitas técnicas dos três métodos (Booch, OMT e OOSE) criados pelos próprios pesquisadores (G.B., J.R. e I.J.) * * UML - História Principais características de cada método: * * UML - História Em 1997 a UML foi aprovada como padrão pela OMG*. Desde então a UML tem sido largamente usada para modelagem de sistemas. A UML está em constante desenvolvimento. Atualmente a especificação do padrão UML está na versão 2.0 (OMG 2003). *OMG(Object Management Group) = Consórcio internacional de empresas que definem padrões na área de orientação a objetos. * * UML UML é uma linguagem visual para modelar sistemas orientados a objetos. Linguagem que define elementos gráficos. Esses elementos permitem • representar os conceitos do paradigma da orientação a objetos. Através da UML podemos representar diversas perspectivas de um sistema. * * UML Cada elemento gráfico da UML possui uma sintaxe e uma semântica. Sintaxe = define a forma de desenhar cada elemento. Semântica = define o significado de cada elemento. A UML é independente: De linguagem de programação. De processo de desenvolvimento. * * UML A definição completa da UML está contida na “Especificação da Linguagem de Modelagem Unificada da OMG”. Essa especificação pode ser obtida do site da OMG www.uml.org Vantagem: Documentação extremamente completa… Desvantagem: Documentação extremamente complexa. * * UML - Visões de Um Sistema É importante estudar e examinar o sistema a partir de diversas perspectivas. A UML permite modelar um sistema de 5 visões diferentes: Visão de Caso de Uso: mostra as interações entre o sistema e agentes externos. Visão de Projeto: mostra as características comportamentais e estruturais do sistema. Visão de Implementação: cobre o gerenciamento das versões do sistema. * * UML - Visões de Um Sistema Visão de Implantação: mostra a distribuição física do sistema em subsistemas e a ligação entre as partes. Visão de Processo: mostra as características de paralelismo, sincronização e desempenho do sistema. Dependendo do sistema que será modelado nem todas visões precisam ser construídas. * * Diagramas da UML 2.0 * * Diagramas da UML 2.0 Diagramas de Classes: representam a estrutura de classes e suas relações. Diagramas de Objetos: representam os objetos e suas relações. Corresponde ao diagrama de colaboração simplificado, sem representar o envio de mensagens. Diagramas de Pacotes: representam os pacotes do sistema. Diagramas de Estruturas: representam a decomposição hierárquica de uma classe (sua estrutura interna). * * Diagramas da UML 2.0 Diagramas de Implantação: representam a distribuição dos componentes nos dispositivos de hardware. Diagramas de Componentes: representam os componentes físicos de um sistema. Diagramas de Atividades: representam o comportamento de uma determinada operação. Diagramas de Casos de Uso: representam a interação do usuário com o sistema. * * Diagramas da UML 2.0 Diagramas de Estado: representam o comportamento de uma determinada classe. Diagramas de Sequência: representação temporal dos objetos e suas interações. Diagramas de Tempo: representam restrições de tempo. Diagramas de Colaboração: representação espacial dos objetos, das relações e das interações. Diagramas de Interatividade: representam a visão geral das interações do sistema. * * UML – Classes * * Classes Classe = é a descrição de um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos. Representada por uma caixa com no máximo 3 divisões: * * Classes - Conceitos Cada classe deve ter um nome que seja único, não pode existir outra classe com o mesmo nome. O nome de uma classe deve ser um substantivo. O nome de uma classe pode ser composto por mais de uma palavra. A primeira letra de cada palavra do nome de uma classe deve ser em letra maiúscula. Exemplos: “Carro” ou “ContaBancária” * * Classes - Atributos Uma classe pode ter quantos atributos forem necessários ou até mesmo nenhum atributo. Representa alguma propriedade da classe que está sendo modelada. Atributo é uma abstração do tipo de dados ou estados que os objetos da classe podem ter. O nome de um atributo deve ser um substantivo. A primeira letra de cada palavra, exceto da primeira palavra, deve ser em maiúscula. Exemplos: marca, dataNascimento. * * Classes - Atributos Pode ser indicado o tipo de cada atributo e até mesmo o valor inicial dos atributos. Sintaxe: [visibilidade] nomeAtributo [:tipo] [= valor inicial] Valores de Visibilidade: + public (visível por todas as classes) # protected (visível na classe e na subclasse) - private (visível apenas na classe). * * Classes - Atributos Exemplo: * * Classes - Operações Operação é uma abstração do comportamentode um objeto. Uma classe pode ter qualquer número de operações e até mesmo nenhum. O nome de uma operação é um verbo ou uma locução verbal. O primeiro caracter de cada palavra do nome de uma operação deve ser maiúsculo, exceto da primeira palavra. Exemplos: mover(), estáVazio() * * Classes - Operações Podemos definir o tipo de retorno de uma operação (método). Podemos definir o tipo e o nome de cada parâmetro de um método. Sintaxe: [visibilidade] nomeMetodo [(parametro1:tipo, parametron : tipo)] [:tipo de retorno] Valores de Visibilidade: + public (visível por todas as classes) # protected (visível na classe e na subclasse) - private (visível apenas na classe). * * Classes - Operações Exemplo: * * Classes - Organização Quando representamos uma classe não é preciso exibir todos os atributos e todas as operações. Não é adequado exibir tudo. Exibimos somente o conjunto de atributos e operações que sejam relevantes para uma determinada visão. Para deixar claro que existem mais atributos e operações do que os mostrados termine cada lista com reticências (…). * * Classes - Técnicas de Modelagem Identifique os itens que os usuários ou os implementadores usam para descrever o problema ou a solução. Utilize a análise baseada em casos de uso para ajudar a descobrir as classes possíveis. Forneça os atributos e métodos necessários para a execução correta da responsabilidade de cada classe. * * Classes - Técnicas de Modelagem Exemplo: conjunto de classes modeladas para um sistema de vendas de varejo. * * Classes - Técnicas de Modelagem Para modelos grandes, muitas das classes podem ser agrupadas de forma conceitualmente e semanticamente relacionadas. Na UML podemos utilizar os pacotes para fazer a modelagem desses agrupamentos. * * Exercícios Modelar as classes para um sistema de gerenciamento de contas bancárias (pelo menos 3 classes). Modelar as Classes para um sistema de locadora (pelo menos 4 classes). * * Contato valentino.junior@gmail.com Obrigado pela atenção de todos(as). @ * *
Compartilhar