Buscar

Resumo da disciplina de Analise Orientada a Objetos I.docx

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Resumo da disciplina de Analise Orientada a Objetos I
ADS – 2017 – 3º Semestre
Introdução
	Este resumo foi realizado com o intuito de ajudar a estudar para a disciplina de Analise Orientada a Objetos I. Contendo o resumo de cada tele aula realizada, com ajuda do meu entendimento sobre a disciplina, referencias do livro disponibilizado para o estudo e com os slides das tele aulas. E espero que ajude outras pessoas a entender essa disciplina que é essencial para o curso de analise e desenvolvimento de sistemas.
Primeira Tele Aula
Papel do Analista de Sistemas: Deve ser especialista nas tecnologias e recursos tecnológicos; Deve possuir visão diferente em relação a equipe; Mesmo assim, deve saber trabalhar em grupo; Deve ter habilidades de comunicação; Deve ter criatividade; Deve procurar ter dinamismo, ser autodidata;
Ciclo de Vida Básico do Processo de Desenvolvimento de Software: Conjunto de fases que o projeto possui. Estas, por sua vez, determinam as características do projeto e tornam possível ver a “maturidade” em que o projeto se encontra.
Analise de Requisitos
Análise (o que precisa ser feito/ Modelagem)
Projeto (Como será desenvolvido/ fala das tecnologias usadas)
Implementação e testes (onde cria os códigos e testa)
Implementação (Entrega para o cliente o software desejado)
Manutenção (Se caso o cliente solicitar) 
Analise de Requisitos: Preocupa-se com “o que deve ser feito”; compreende o problema apresentado considerando a FRONTEIRA (Objetivo que quero alcançar) e o DOMÍNIO (meios que utilizo para alcançar a fronteira). 
Paradigma Orientado a Objetos 
Orientação a Objetos: Maneira de entender e refletir sobre o mundo usando modelos organizados. 
Objetos: Qualquer coisa concreta ou abstrata com existência no mundo real (documentos ou objetos físicos), sendo possível identifica-lo como único.
Atributos: Características que uma determinada classe ou objeto possui. Eles também são chamados de variáveis de classe e podem se classificados em atributos de instância e atributos de classe (ou constantes). O primeiro é responsável por determinar o ESTADO de um objeto. E o segundo é responsável por CONTROLAR informações de uma classe, chama-se de constante, pois a informação da classe pode mudar conforme suas atualizações.
Classe: Grupo de objetos do mundo real que possui tipos de características e de comportamentos em comum. 
Métodos: Proporciona os detalhes de como fazer para construir o software. O código, linguagens de programação e ferramentas CASE.
Operações: Toda ação que o objeto executa ou sabe executar. Por exemplo: uma Ferrari é um objeto da classe carro, portanto, tem habilidade para ligar o motor, implementada através do método ligarMotor().
Evento e Estado: Evento são os acontecimentos que fazem os objetos mudarem de estado; E estado representa a forma de apresentação dos objetos de uma classe em um determinado instante. Por exemplo: Uma porta, o objeto porta1 se encontra no estado de fechada e assumiu o estado de aberto – Tudo isso toma um exemplo de estado da porta.
Encapsulamento: Ato de reunir em uma estrutura chamada classe, as características e o comportamento dos objetos, sendo uma forma de organiza-los, permitindo que um objeto proteja a integridade de suas partes. Por exemplo: Uma calculadora tem uma função definida, posso reutilizar essa função mas não posso interferir na sua integridade.
Generalização: Representa a propriedade pelas quais uma classe pode herdar características e comportamentos de outra.
Polimorfismo: Representa uma mesma operação se comportando de diferentes formas, em diferentes classes. 
Segunda Tele Aula
UML (Unified Modeling Language): Linguagem de Modelagem Unificada. Ela é uma fusão de métodos de Grady Booch, Ivar Jacobson, James Rumbaugh e tem a proposta de 13 técnicas de modelagem e 1 técnica narrativa. Sendo criada em 1997. Também é uma linguagem visual utilizada para modelar sistemas computacionais complexos ou não por meio do paradigma de orientação a objetos. Ela privilegia a descrição de um sistema segundo três perspectivas: 
Dados: Diagrama de Classe (Estrutural)
Operações: Diagrama de casos de uso (Funcional)
Eventos: Diagrama de sequencia, atividades de estado (temporal)
Operações e Eventos são a parte dinâmica do sistema e dados é a parte estática.
Na imagem esta mostrando as técnicas de modelagem que a UML utiliza, e a com o asterisco vermelho (*) seria a técnica narrativa. Os diagramas tratados na disciplina de A.O.Obj I foram o diagrama de classe, o diagrama de casos de uso e a documentação de casos de uso.
Processo Unificado: É um dos modelos de engenharia de software criado para apoiar o desenvolvimento orientado a objetos com a UML. Antes era chamado de Rational Objectory Process (ROP). É interativo e incremental. Um subconjunto do Processo Unificado se chama RUP (Rational Unified Process).
O P.U adaptado por Booch possui quatro fases e quatro atividades. Cada fase possui um resultado que deve ser alcançado para que a mesma seja concluída. A cada uma dessas fases tem a realização das atividades.
Fases: Concepção (Fase inicial do processo, é onde determina o escopo do sistema e, por meio dele, fornece um orçamento ao cliente), Elaboração (Preparação do projeto, finalização da arquitetura do projeto, assim como o domínio do problema, decidindo quais frameworks e linguagem de programação que serão usados), Construção (fase de desenvolvimento do projeto não especificadamente, é como um protótipo de como ele vai ficar), Transição (Fase final do processo, em que após ter requisitos e protótipos validados pelo cliente, o mesmo recebe o produto final e disponibiliza para usuários usarem)
Atividades: Requisitos (Aqui se defini o que o projeto precisa, define-se a quantidade de iterações que o mesmo irá possuir analisando e descrevendo o custo e o tempo de desenvolvimento do sistema, o analista deve mostrar ao desenvolvedor uma compreensão melhor dos requisitos. Esta contida nas três primeiras fases do P.U), Analise e Projeto (É responsável por analisar os requisitos a fim de gerar o projeto, estabelecendo uma boa arquitetura e buscando maior desempenho do sistema. Esta contido nas três primeiras fases), Implementação (É responsável por implementar o sistema, integrando todas as partes do sistema que foram desenvolvidas pela equipe com a responsabilidade de organização e padronização dos códigos. Esta contido na segunda e terceira fase), Testes (Realiza testes no sistema, com atividades como localizar e documentar os erros que o item avaliado possui e indicar se o projeto realmente atende as necessidades do cliente).
2.1 Diagrama de casos de Uso: Todo diagrama tem notação (elementos que compõem o diagrama) e existe regras (de nomenclatura e de desenho).
Requisitos Funcionais e Não-Funcionais: 
Funcionais: Todas as funcionalidades (casos de uso) que o sistema deve prover para os usuários. Ex: Controles, cadastros, consultas. 
Não-Funcionais: É o que não é uma funcionalidade, mas que precisa ser realizado para que o software atenda seu proposito.
Ator: É representado por um “boneco”, precedido do seu nome. Pode ser definido como um dos envolvidos no projeto, que interage com o sistema. Ele pode ser uma pessoa, um usuário do sistema, um hardware ou um sistema computacional. O ator primário fornece os dados, o secundário às vezes dependendo do caso.
Caso de Uso: Representado por uma elipse nomeada, pode ser definido como uma ação ou necessidade que o sistema deve atender na visão do desenvolvedor de sistemas. Outra definição é que pode ser um conjunto de métodos com um objetivo em comum.
Associação: Representa a conversa entre ator e caso de uso. Existem dois tipos de associação: Unidirecional (o ator somente solicita uma ação sem esperar resposta, ou vice-versa), Bidirecional (Envia e recebe mensagens entre ator e caso de uso).Representação de casos de uso:
Básico: Que existem poucas associações.
Generalização: Tanto o ator como caso de uso podem ter uma generalização.
Extend e o Include: Existem relacionamentos entre casos de uso e existe o caso de uso base que é aquele que tem o ator do lado. Os dois tipos de relacionamento são o extend (extensão) e o include (inclusão). 
Extensão: Vou usar em relacionamentos não obrigatórios (opcional) e é do caso de uso executado para o próximo passo que ele pode ou não precisar. 
Inclusão: Vai existir a partir de outro caso de uso sendo uma regra, então ela é representado obrigatoriamente. É do caso de uso base para o que vai acontecer. Ações obrigatórias que podem ser utilizadas por mais de um caso de uso.
3. Terceira Tele Aula
Documentação do caso de uso: Descreve, com linguagem simples, o que o caso de uso esta fazendo, de maneira detalhada, ou não, descreve as ações de cada ator e a ação do sistema, descreve também as restrições e validações do caso de uso; Embora esteja incluído no diagrama da UML 2.0 ele não é uma técnica! Ele é um complemento do caso de uso; Uma dica que me foi passada é que a documentação é bem feita logo após o diagrama de caso de uso, diagrama de classes e a prototipação, então ele seria a ultima tarefa a se fazer ao elaborar um projeto.
Formas de documentação: 
Contínuo: consiste no nome do caso de uso, uma breve descrição do que se trata, descreve o que é necessário, atores envolvidos (Cenário Principal e Alternativo), requisitos especiais e especifica os atributos.
Tabular: consiste em nome, caso de uso geral, atores secundários, pré-condições e pós-condições, ações do ator e do sistema, e restrições/Validações.
Numerado: Descrição narrativa dos eventos que são usados no caso de uso, especificando em cenário principal e alternativo, descrita por passos numerados. Obrigatoriamente terá um cenário principal em cada documentação e poderá ter vários cenários alternativos, pois ele é uma condição dos cenários principais. 
3.1 Diagrama de classes: Representa a modelagem da parte estática do sistema, representando um conjunto de classes com seus atributos, operações e relacionamentos.
Modelo de Classes: Conjunto de Diagramas. É quando não consigo mostrar um diagrama em uma única tabela assim acaba se tornando um modelo de classe.
Técnicas especificas do diagrama de classes: 
Elaboração do Diagrama de casos de uso.
Analisando os casos de uso, podemos identificar as classes e seus atributos.
Elaboração do Diagrama de classes único ou por visão.
Refinamento do diagrama de classes
Notação de classe: Nome da classe (substantivo no singular), atributos (nomeDoAtributo) e operações (verbo no infinitivo + substantivo). Segue, nessa mesma ordem, a imagem a baixo.
		
Relacionamentos: Na UML existem 4 tipos de relacionamentos: associação, generalização, dependências e realizações.
Associação: Relacionamentos estruturais entre instâncias. Tipos: Unária (auto-associação ou reflexiva), binária, classe associativa e agregação.
Unária: Objetos de uma classe se associando com os objetos da mesma.
Binária: Relacionamento entre objetos de duas classes.
Classe Associativa: É representada por uma seta tracejada partindo do meio da associação e atingindo uma classe.
Agregação (Agregação por Referência): As informações de um objeto (chamado objeto-todo) precisam ser complementadas pelas informações contidas em um ou mais objetos de outra classe( chamados objetos-parte). Ambas as classes poder “viver” de forma independentes, ou seja, não dependem uma da outra. Por exemplo: 
Quando eu tenho a classe aula mais a classe exercício quer dizer que toda aula pode ter nenhum ou muitos exercícios (0..*) mas cada exercício é especifico de uma aula (1). E toda aula pode ter nenhum ou vários materiais (0..*) e é especifico de uma aula. AULA = OBJETO-TODO/ EXERCICIOS e MATERIAIS = OBJETO-PARTE. Utiliza um losango vazio para indicar a composição.
Composição (ou Agregação por Valor): variação da agregação, onde é apresentado um vinculo mais forte entre objetos-todo e os objetos-parte, procurando demonstrar que os objetos-parte tem de estar associados a um único objeto-todo. Utiliza um losango preenchido para indicar a composição. Ambas dependem uma da outra. Por exemplo:
No momento que eu cadastrar uma prova, eu já faço o cadastro das perguntas e das alternativas. Não existe o objeto prova sem cadastrar as perguntas e não existe pergunta sem alternativas/respostas.
Generalização e Especialização: Classe-mãe, chamadas gerais e classes-filhas, chamadas especializadas, demonstrando a ocorrência de herança e de métodos. A herança é a possibilidade de uma classe utilizar atributos e métodos de uma outra como se fossem seus. 
Espero ter ajudado quem baixar esse resumo, tentei ao máximo diminuir o assunto ;) e bons estudos daqui pra frente :D

Outros materiais