1. O que são classes ? Dê exemplos. R.: Classe é um tipo abstrato de dados. Encapsula estrutura e comportamento. Ou seja: uma descrição de um conjunto de objetos que compartilham a mesma estrutura, os mesmos métodos e a mesma semântica. Exemplos: 1- Classe porta (classe filho) “ é um “ carro (classe pai) 2- Anfíbio, aquático e terrestre (classes filhas) “é um” veículo (classe pai) 2. Que características definem uma classe ? Explique-as. R.: As classes são definidas pela estrutura e comportamento. Estrutura é um conjunto de atributos e relacionamentos. Comportamento são os métodos (operações). 3. O que são objetos ? Dê exemplos de objetos das classes citadas no exercício 1. R.: Objeto é a representação ideal de uma classe. Possui identidade, dados e comportamento. É a manifestação concreta da abstração. Instância da classe, sua concretização. 4. Que características definem um objeto ? Explique-as. R.: Identidade => qual característica o define dos demais. Estado => Conjunto de propriedades que o definem. Valores dos atributos e relacionamentos com outros objetos. Comportamento => Determina como vão agir ou reagir em função do relacionamento com outros objetos e seus métodos. Ciclo de vida => Um objeto é criado (nascer), é utilizado (viver) e pode desaparecer (morrer). Fronteira => Conjunto de interfaces em que atua. 5. Explique o conceito de abstração. R.: Abstrair é desprender-se dos detalhes e pensar mais em alto nível. Deter-se no que o programa faz e não como ele faz. É o elemento básico da construção dos módulos. 6. Explique o conceito de herança, citando os tipos existentes e dando exemplos de ambos. R.: Herança é a forma pela qual as classes podem herdar de outros atributos e métodos, baseado na relação “é um tipo de” ou “é um”. Tipos: Herança simples => um filho tem um único pai como no exemplo 3 da questão nº 1 carro e veículo. Herança múltipla => uma classe filha pode descender de vários pais como no exemplo 3 da questão nº 1 veículo e anfíbio / terrestre / aquático. 7. Defina encapsulamento. R.: Encapsular é ocultar. “Criar uma cápsula” ao redor da classe, para proteger o que está dentro dela. 8. Explique o que vem a ser polimorfismo e o quê propicia. R.: Primeiramente vale a pena citar que polimorfismo só existe em função da herança, pois as classes herdam características da classe pai. O que vai propiciar : Produzirá resultados diferenciados que refletem reações diferentes de acordo com o contexto tratado. Com aplicação de polimorfismo, o código criado será limpo, legível e lógico. 9. O que são métodos ? E atributos ? R.: Método => é o mesmo que comportamento, funções, operações. Os métodos descrevem o comportamento das classes e de suas instâncias. Podemos dizer também que são ações que as mensagens requisitam. Atributo => é a estrutura de uma classe. O conjunto de atributos de uma classe define a estrutura das instâncias da mesma. A coleção de valores dos atributos de uma classe, definirá o estado do objeto. 10. Cite exemplos de classes de um sistema comercial de uma empresa. Defina atributos e métodos para essas classes e dê exemplos de prováveis objetos. Sistema de Controle de Ponto dos Funcionários Empresa Å Classe Nome Endereço Site Ramo de atividade Data inicio atividade Data validade CGC Å Atributos MudardeEndereco( ) IniciarAtividade( ) AtualizarDataCGC( ) Å Métodos Funcionários Å Classe Nome Departamento Data Admissão Data Demissão Banco de Horas Å Atributos Objeto : Cia XYZ, Rua A 1234, www.xyz.com.br Faz qualquer negócio, 01/01/2000, 31/12/2003 Objeto :Fulano, Informática, 01/01/2000, 00/00/0000, 20:05 Beltrano, Produção, 01/05/2000, 00/00/0000, 01:00 Ciclano, Pessoal, 01/01/2000, 31/01/2000, 00:00 Å Métodos RegistrarFunc( ) DemitirFunc( ) MudarDepto( ) AtualizarBancoHoras( ) Tabela de Horário Å Classe Nro da Tabela Mes Ano Tolerancia de Atraso Hora de Chegar Hora de Sair Å Atributos IncluirNovoMesAno ( ) Å Método Marcação do Ponto Å Classe Funcionario Data Hora de Chegada Hora de Saida Å Atributos RegistrarPonto( ) Objeto : 001, 01/2000, 00:00, 08:00, 17:00 002, 01/2000, 00:15, 07:00, 16:00 003, 02/2000, 00:00, 08:00, 17:00 004, 02/2000, 00:15, 07:00, 16:00 Objeto : Fulano, 02/01/2000, 07:45, 19:15 Ciclano, 02/01/2000, 08:30, 17:00 Fulano, 03/01/2000, 07:40, 18:30 Ciclano,03/01/2000,08:40,17:00 11. Defina o que significa casos de uso. É uma descrição de um conjunto de sequencias de ações de um roteiro. Podem ser aplicados para perceber o comportamento de um Sistema (requisitos), sem a necessidade de especificar como esse comportamento é implementado. Fornecem uma maneira dos desenvolvedores chegarem a uma compreensão com os usuários dos Sistemas. Ajudam a validar a arquitetura. Casos de uso bem estruturados mostram o comportamento essencial do Sistema, não são muito gerais e nem específicos. Um cenário é um conjunto de casos de uso. 12. Qual a notação para um caso de uso. É representado como uma eclipse. Deve conter um nome que o diferencie dos demais casos de uso. O nome deve ser único dentro do pacote. O nome simples é o nome sozinho (normalmente utiliza-se assim). Já o nome de caminho é o nome do caso de uso, cujo prefixo é o nome do pacote. Nome caso de uso 13. Defina o que significa um ator. Representa um papel que um ser humano, um dispositivo de hardware ou outro sistema desempenha com o Sistema. Também representa um conjunto coerente de papéis que os usuários de casos de uso desempenham. Os atores são parte do Sistema, e residem fora do Sistema. 14. Qual a notação para um ator. São representados como figuras esquematizadas. Abaixo um exemplo de esteriótipo de um ator. 15. Para que servem os diagramas de casos de uso. São importantes para visualizar, especificar e documentar o comportamento de um elemento. Por apresentarem uma visão externa como os elementos podem ser utilizados no contexto, fazem com que os Sistemas (ou classes), fiquem compreensíveis. São um dos 5 diagramas disponíveis na UML para modelagem de aspectos dinâmicos do Sistema. Tem um papel central para a modelagem do comportamento de um Sistema ou de uma classe. Mostra um conjunto de casos de uso e atores e seus relacionamentos. 16. Defina o conceito de requisito. São as características que definem os critérios de aceitação de um produto. 17. Que tipo de associação é possivel entre um ator e um caso de uso. Os atores poderão se conectar aos casos de uso somente pela associação. Indica que o ator e o caso de uso se comunicam entre si, podendo enviar e receber mensagens. 18. Que notação é utilizada para a relação de generalização. 19. V ou F ( V ) Para a abstração, o que é considerado importante depende da situação e do ponto de vista de quem analisa. ( F ) A multiplicidade determina o número de ocorrência entre os atores dentro de um diagrama de casos de uso. ( V ) Pode-se afirmar que a UML é uma linguagem de modelagem. ( V ) A análise orientada a objetos constrói sistemas baseados em objetos do mundo real que são encontrados no ambiente dos usuários. 20. Responda: a- Tipo de classes que aparecem nos modelos com o objetivo de criar a camada de interação do usuário ou mundo exterior com o sistema. Classe de fronteira b- Tipo de requisitos que definem as interações entre o sistema e o ambiente, e são utilizados nos casos de uso. Requisitos funcionais c- Conceito que possibilita várias implementações diferentes em uma única interface. Polimorfismo d- São estímulos enviados aos objetos. Os objetos as recebe, solicitando uma requisição que ele realize alguma operação. Mensagens e- Tipo de classes que aparecem nos modelos com o objetivo de criar a camada de persistência. Classe de dados f- Cite um tipo de relacionamento todo/parte. Composição.