Vous êtes sur la page 1sur 5

c 

Conceitos relacionados a Programação Orientada a Objeto




Jean Carlos de Oliveira
c  Wedson
 Programação Orientada a Objeto

Engenharia de Automação Industrial ± 11º Período


Centro Federal de Educação Tecnológica de Minas Gerais ± Campus IV - Araxá

     


Os autores apresentam diversas definições para engenharia de software. Vamos apresentar
três que consideramos complementares.
è? A engenharia de software é a disciplina envolvida com a produção e manutenção sistemática
de software que são desenvolvidos com custos e prazos estimados.
è? Oisciplina que aborda a construção de software complexo - com muitas partes
interconectadas e diferentes versões - por uma equipe de analistas, projetistas,
programadores, gerentes, "testadores", etc.
è? O estabelecimento e uso de princípios de engenharia para a produção economicamente
viável de software de qualidade que funcione em máquinas reais.

A primeira destas definições enfatiza que a engenharia visa não apenas o desenvolvimento,
mas também a manutenção do produto. Além disso, ela ressalta a importância da estimativa de
custos e prazos de desenvolvimento.
A segunda definição enfatiza a complexidade do produto e do processo. O software é
formado por diversos componentes interconectados e o seu desenvolvimento é realizado por uma
equipe com diferentes funções e especialidades, cujo trabalho precisa ser gerenciado.
A terceira ressalta que o desenvolvimento de software deve seguir os princípios comuns a
todas as engenharias e deve visar a qualidade.

O  



Em programação, um diagrama de classes é uma representação da estrutura e relações das
classes que servem de modelo para objetos.
É uma modelagem muito útil para o sistema, define todas as classes que o sistema necessita
possuir e é a base para a construção dos diagramas de comunicação e estados.

Conceitos
?

è? Classe: Elemento abstrato que representa um conjunto de objetos. A classe contém a


especificação do objeto; suas características: atributos e métodos (ações / comportamentos).
„? Atributo: Oefine características da classe como:
o? Visibilidade: Pública onde outras classes podem ter acesso ao atributo.
Privada o atributo somente é acessado pelo relacionamento da classe com a
classe externa, Protegida e Pacote.
o?Rome: Identificação do atributo.
o?Tipo de dados: Tipo de dado do atributo.
o?Multiplicidade: Relacionamentos.
o?Valor inicial: Oepende da linguagem de programação, valor opcional.
o?Propriedade: Características do elemento, opcional.
„? Operação: Função requerida a um objeto.
o? Rome, Visibilidade e Parâmetros.
„? Associação: Relacionamentos entre classes.
o? Rome: Rome da associação.
o? Multiplicidade
o? Ravegação: Oe onde vem as informações da classe e para onde vai.

Tipos de relacionamentos

Oiagrama de classes com relação de agregação e composição

Agregação
Oemonstra que as informações de um objeto precisam ser complementadas de outra classe,
objeto-todo e objeto-parte. Associação conhecida como "has-a" (tem um), representa uma relação
forte entre as classes. Se a classe que "contém" for destruída não significa que a classe "contida"
será.
Representada por uma linha com um diamante vazado do lado da classe que contém.

Composição
Um tipo de agregação, onde o objeto-parte pertence a um único objeto-todo. Associação
conhecida como "owns a" (contém um), representa uma relação forte entre as classes. Se a classe
que "é dona" for destruída significa que a classe "contida" será.
Representada por uma linha com um diamante cheio do lado da classe que o contém.

Especialização ou Generalização

Também conhecida como herança, representa as dependências e hierarquias.

þ 
 

O termo ³Metodologias Ágeis´ tornou-se popular em 2001 quando dezessete especialistas
em processos de desenvolvimento de software representando os métodos Scrum [Schwaber e
Beedle (2002)], Extreme Programming (XP) [Beck (1999)] e outros, estabeleceram princípios
comuns compartilhados por todos esses métodos. Foi então criada a Aliança Ágil e o
estabelecimento do ³Manifesto Ágil´ [Agile Manifesto (2004)].
Os conceitos chave do ³Manifesto Ágil´ são:

è? Indivíduos e interações ao invés de processos e ferramentas.


è? Software executável ao invés de documentação.
è? Colaboração do cliente ao invés de negociação de contratos.
è? Respostas rápidas a mudanças ao invés de seguir planos.

Extreme Programming (XP)


O XP usa uma abordagem orientada a objetos como seu paradigma de desenho. O processo
é composto por quatro atividades: Planejamento, Projeto, Codificação e Teste, que são repetidas
iteração a iteração.

Scrum

Foi desenvolvido inicialmente por Jeff Sutherland e por sua equipa no início da década de
1990. O Scrum, usa um conjunto de ³padrões de processo de software´, que são adequados para
projetos com prazos apertados e requisitos que mudam frequentemente. Cada padrão de processo
define um conjunto de atividade.

Feature Oriven Oevelopment (FOO)

Começou por ser concebido por Peter Coad e seus colegas, e mais tarde Stephen Palmer e
John Felsing estenderam e melhoraram o processo orientado a objetos que pode ser aplicado a
projetos de software de tamanho moderado e grande.

O namic S stems Oevelopment Method (OSOM)

É um processo que tenta fornecer maneira de construir e manter sistemas que satisfazem às
restrições de prazo apertadas por meio do uso de prototipagem incremental em um ambiente
controlado de projecto. Este processo segue o princípio de Pareto 80-20, em que neste caso 80% de
uma aplicação pode ser entregue em 20% do tempo que levaria a entregar a aplicação completa
(100%).

c   


.RET (lê se: dot-net) é uma plataforma de software que conecta informações, sistemas,
pessoas e dispositivos. A plataforma .RET conecta uma grande variedade de tecnologias de uso
pessoal e de negócios, de telefones celulares a servidores corporativos, permitindo o acesso a
informações importantes, onde e sempre que forem necessárias.

Oesenvolvido sobre os padrões de Web Services XML, .RET possibilita que sistemas e
aplicativos, novos ou já existentes, conectem seus dados e transações independente do sistema
operacional, tipo de computador ou de dispositivo móvel que sejam utilizados, ou que linguagem de
programação tenha sido utilizada na sua criação.

O .RET é um "ingrediente" presente em toda a linha de produtos Microsoft, oferecendo a


capacidade de desenvolver, implementar, gerenciar e usar soluções conectadas através de Web
Services XML, de maneira rápida, barata e segura. Essas soluções permitem uma integração mais
rápida e ágil entre os negócios e o acesso a informações a qualquer hora, em qualquer lugar e em
qualquer dispositivo.

Conectando seu mundo

A idéia fundamental por trás do Microsoft .RET é uma mudança de foco na informática,
passando de um mundo de aplicativos, Web sites e dispositivos isolados para uma infinidade de
computadores, dispositivos, transações e serviços que se conectam diretamente e trabalham em
conjunto para fornecerem soluções mais amplas e ricas.
As pessoas terão o controle sobre como, quando e que informações serão fornecidas a elas.
Os computadores, sistemas e serviços serão capazes de colaborar e interoperar mutuamente em
favor do usuário, e as empresas poderão oferecer seus produtos e serviços aos clientes certos, na
hora certa, da forma certa, combinando processos de maneira muito mais granular do que é possível
hoje.


O Framework de .Ret é uma infra-estrutura sobre a que se reúne todo um conjunto de
linguagens e serviços que simplificam enormemente o desenvolvimento de aplicações. Mediante
esta ferramenta se oferece um ambiente de execução altamente distribuído, que permite criar
aplicações robustas e escaláveis. Os principais componentes deste ambiente são:

è? Linguagens de compilação
è? Biblioteca de classes de .Ret
è? CLR (Common Language Runtime)

.Ret Framework suporta múltiplas linguagens de programação e embora cada linguagem


tenha sua características próprias, é possível desenvolver qualquer tipo de aplicação com qualquer
destas linguagens. Existem mais de 30 linguagens adaptadas a .Ret, desde as mais conhecidas como
C# (C Sharp), Visual Basic ou C++ até outras linguagens menos conhecidas como Perl ou Cobol.

Common Language Runtime (CLR)

O CLR é o verdadeiro núcleo do Framework de .Ret, já que é o ambiente de execução no


qual se encarregam as aplicações desenvolvidas nas distintas linguagens, ampliando o conjunto de
serviços que oferece o sistema operacional padrão Win32.

A ferramenta de desenvolvimento compila o código fonte de qualquer uma das linguagens


suportadas por .Ret em um mesmo código, denominado código intermediário (MSIL, Microsoft
Intermediate Lenguaje). Para gerar tal código o compilador se baseia no Common Language
Specification (CLS) que determina as regras necessárias para criar código MSIL compatível com o
CLR.
Oesta forma, indistintamente da ferramenta de desenvolvimento utilizada e da linguagem
escolhida, o código gerado é sempre o mesmo, já que o MSIL é a única linguagem que entende
diretamente o CLR. Este código é transparente ao desenvolvimento da aplicação já que o gera
automaticamente o compilador.

Biblioteca de classes de .Ret

Quando se está programando uma aplicação muitas vezes se necessitam realizar ações como
manipulação de arquivos, acesso a dados, conhecer o estado do sistema, implementar segurança,
etc. O Framework organiza toda a funcionalidade do sistema operacional em um espaço de nomes
hierárquico de forma que na hora de programar resulta bastante simples encontrar o que se
necessita.

Para isso, o Framework possui um sistema de tipo universal, denominado Common T pe


S stem (CTS). Este sistema permite que o programador possa interagir os tipos que se incluem no
próprio Framework (biblioteca de classes de .Ret) com os criados por ele mesmo (classes). Oesta
forma se aproveitam as vantagens próprias da programação orientada a objetos, como a herança de
classes pré-definidas para criar novas classes, ou o polimorfismo de classes para modificar ou
ampliar funcionalidades de classes já existentes.

A biblioteca de classes de .Ret Framework inclui, entre outros, três componentes chave:
è? ASP.RET para construir aplicações e serviços Web.
è? Windows Forms para desenvolver interfaces de usuário.
è? AOO.RET para conectar as aplicações a bancos de dados.

†  
   

http://www.criarweb.com/artigos/net-framework.html - Acessado em 05/03/2011
http://pt.wikipedia.org/wiki/Oiagrama_de_classes - Acessado em 05/03/2011
http://engenhariadesoftware.blogspot.com/2007/02/o-que-engenharia-de-software.html - Acessado
em 05/03/2011

Vous aimerez peut-être aussi