Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Mais sobre análise orientada à objetos Na prática, em termos de modelagem conceitual de análise, a tarefa principal passa a ser a identificação dos objetos (na verdade as classes) envolvidos no contexto do sistema. Ao identificar os objetos, naturalmente, modelam-se os atributos (dados que caracterizam o objeto) e os métodos (funcionalidades do sistema, inerentes aquele objeto ou classe). Na medida em que são identificados todos os objetos pertinentes a um sistema, já teremos os dados e procedimentos relacionados. Um modelo OO tem com entidade fundamental o Objeto, que recebe e envia mensagens, executa procedimentos e possui um estado que, por proteção apenas ele pode modificar. Problemas são resolvidos, por meio de objetos, que enviam mensagens uns aos outros. Um Modelo OO é formado por quatro elementos básicos: 1. Objeto: É o principal elemento do modelo OO. Representa as “coisas” a serem modeladas do mundo real. Um objeto pode ser algo concreto como um carro, um aluno ou algo abstrato como uma disciplina. Cada objeto possui os dados inerentes a ele, como por exemplo, Nome (José) e Matrícula (201101272201) de um aluno e possui as operações que ele executa, como incluir novo aluno ou alterar dados de um aluno existente. 2. Mensagens: Quando um outro objeto deseja que seja executada uma operação, da responsabilidade de outro objeto, ele manda uma mensagem a esse objeto, informando o que ele deseja que seja feito. A operação desejada será implementada por meio de um método. 3. Atributos: São dados que caracterizam o objeto. 4. Métodos : É um procedimento (implementado por uma rotina ou função) que executa uma operação em um objeto e define parte de seu comportamento. 5. Classes: É um conjunto de objetos com as mesmas características (atributos e métodos). Por exemplo, os objetos IX35 e Sportage são objetos da classe CARRO, cujas características em comuns são: a. Atributos: modelo, fabricante, ano de fabricação, portas, dentre outros b. Métodos: incluir carro, vender carro, dentre outros. Dentre as principais características do paradigma orientado a objeto (OO), destacamos: 2 1. Encapsulamento: Encapsular significa esconder, ou seja, o objeto esconde seus dados do acesso indevido de outros objetos e somente permite que eles sejam acessados por operações implementadas pelos seus próprios métodos (funcionalidades que implementam o comportamento do objeto). Com isso, o encapsulamento protege os dados do objeto do uso arbitrário ou não intencional, o que pode ser visualizado na figura 12 (Encapsulamento). O encapsulamento é uma técnica para minimizar a interdependências entre as classes, pois apenas os métodos da respectiva classe podem alterar seus dados (atributos), facilitando a identificação de erros e a alteração dos programas. 2. Herança: Mecanismo para derivar novas classes a partir da definição de classes existentes através de um processo de refinamento. Uma classe derivada ou descendente herda os dados (atributos) e comportamento (métodos) da classe base ou ancestral ou ascendente. A implementação da herança garante a reutilização de código, que além de economizar tempo e dinheiro, propicia mais segurança ao processo de desenvolvimento, posto que as funcionalidades da classe base já foram usadas e testadas. 3. Polimorfismo: A palavra polimorfismo, deriva do grego e significa “muitas formas”. A partir do momento em que uma classe herda atributos e métodos de uma (herança simples) ou mais (herança múltipla) classes base, ela tem o poder de alterar o comportamento de cada um desses procedimentos (métodos). Isso amplia o poder do reaproveitamento de código promovido pela herança, permitindo que se aproveitem alguns métodos e se alterem (redefina) outros. Dessa forma um método com mesmo nome em classes distintas pode ter diferentes comportamentos. Por exemplo, pode-se usar a Herança para representar um relacionamento entre as classes Documento e Email, de forma que Email herda as definições (Atributos e métodos) de Documento. Suponha que um dos métodos de Documento seja Imprime. A classe email pode escrever novo código para o método Imprime, de forma que o email seja impresso de forma diferente do Documento. O método Imprime terá o mesmo nome, mas em cada classe se comportará de forma distinta. 3 Figura 12: Encapsulamento O modelo de objetos surgiu (década de 80) como um modelo promissor para o desenvolvimento de software mais confiável devido as características inerentes ao modelo de objetos. Vejamos: O conceito de encapsulamento permite a construção de classes independentes uma das outras, facilitando o desenvolvimento e a manutenção do software (alterações e melhorias na classe). A herança e o polimorfismo permitem e facilitam a reutilização de código, útil na fases de implementação e manutenção. O uso de técnicas orientadas a objetos facilita o controle da complexidade, uma vez que promove uma melhor estruturação de seus componentes e também permite que componentes já usados e validados possam ser reaproveitados. Cabe ressaltar que uma das principais razões para a baixa produtividade no desenvolvimento de software é a dificuldade de reutilização de código gerado pelos paradigmas de análise tradicionais. As hierarquias de classes (herança) são componentes portáveis entre aplicações, que, se bem projetados, podem ser reutilizados em vários sistemas sem modificação e, além disso, podem ser estendidos (polimorfismo) sem corromper o que já existe. Assim sendo, podemos dizer que o modelo de objetos proporciona modularidade trazendo os seguintes benefícios: Reusabilidade: Softwares podem ser escritos com base em componentes já existentes. 4 Extensibilidade: Novos componentes de software podem ser desenvolvidos a partir de outros já existentes, sem afetar o comportamento do componente de origem. Sabe-se que software são intrinsicamente complicados devido aos novos requisitos das aplicações modernas: alta confiabilidade, alto desempenho, desenvolvimento de software rápido e barato, alta complexidade e tamanhos grandes. O modelo OO veio para combater os problemas derivados da crise do Software, termo cunhado em 1968 na Europa e caracterizado pelos seguintes problemas do software: baixa confiabilidade, baixa qualidade, alto custo de manutenção e duplicação de esforços na sua construção (tempo e dinheiro). Um sistema desenvolvido com as características do modelo OO tende a ser bem estruturado, posto que os objetos são unidades coesas com interfaces simples que escondem as suas implementações. No que se refere à forma de desenvolvimento, o que envolve o processo de desenvolvimento utilizado, o modelo OO permite uma melhoria substancial do processo de construção de software em relação aos paradigmas tradicionais (tradicional, estruturado e essencial). A chave da análise OO é o foco em objetos (e em classes) e não em funções. O início da fase de análise não se dá mais pela identificação das diferentes funcionalidades do sistema e sim pela identificação dos objetos que compõem o sistema. Inicialmente, vários especialistas criaram diferentes diagramas de análise e projeto OO. Num dado momento, tais profissionais se juntaram e com o melhor de cada um criaram uma linguagem de modelagem orientada a objeto, nascia a UML (Unified modeling language), cujos principais diagramas eram: Diagrama de Casos de Uso. Diagrama de Classes. Diagrama de sequencia. Diagrama de Atividades. Diagrama de Implementação. Diagrama de Componentes.
Compartilhar