Os diagramas de componentes permitem modelar a estrutura física de um sistema em componentes como bibliotecas e executáveis. Um diagrama de componentes define a arquitetura do sistema e mostra como os componentes se conectam através de interfaces. Um diagrama de distribuição distribui esses componentes nos nós de hardware como computadores e dispositivos.
Este documento apresenta uma introdução aos principais métodos de desenvolvimento orientado a objetos e à Linguagem de Modelagem Unificada (UML). Discute os conceitos fundamentais da UML, sua história, utilidade e desenvolvimento. Também descreve os diferentes tipos de modelos e diagramas definidos pela UML para modelagem de sistemas.
Este documento apresenta os principais conceitos da Linguagem de Modelagem Unificada (UML). Resume os principais métodos de engenharia de software orientados a objetos que levaram ao desenvolvimento da UML e descreve os tipos de modelos e diagramas que compõem a UML, incluindo classes, sequências, casos de uso e máquinas de estados.
Este documento fornece um resumo da linguagem de modelagem UML (Unified Modeling Language). Apresenta os principais diagramas da UML como Diagrama de Casos de Uso, Diagrama de Classes, Diagrama de Sequência e Diagrama de Estados. Também descreve como a UML pode ser usada para modelar sistemas durante todo o ciclo de desenvolvimento de software.
O documento descreve os principais diagramas da UML e como criar um projeto web MVC usando conceitos da UML. Ele apresenta:
1) Os objetivos de entender a UML e seus diagramas e criar um projeto usando a modelagem;
2) Uma introdução à UML e seus diagramas como caso de uso, classes e MER;
3) Como criar os diagramas de caso de uso, classes e MER para o projeto e desenvolvê-lo no Visual Studio.
1) A UML foi desenvolvida por três especialistas em modelagem orientada a objetos para padronizar a notação usada nesse processo.
2) A UML é aplicada em diferentes fases do desenvolvimento de software, desde a análise de requisitos até os testes, usando diagramas como casos de uso, classes e sequência.
3) A UML tem nove tipos de diagramas que representam diferentes aspectos de um sistema, como funcionalidade, estrutura e comportamento.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
A UML tem origem na compilação das melhores práticas de engenharia de desenvolvimento de softwares. A UML é uma linguagem padrão para elaboração da estrutura de projetos de software e é adequada para modelagem de sistemas. A UML fornece blocos de construção como itens estruturais, comportamentais, de agrupamento e anotacionais para modelagem, além de relacionamentos e diagramas para visualização de diferentes perspectivas de um sistema.
O documento apresenta uma introdução à Linguagem de Modelagem Unificada (UML), descrevendo sua evolução, características e os principais diagramas utilizados, como diagramas de casos de uso, classes, sequência, estados e implantação.
Este documento apresenta uma introdução aos principais métodos de desenvolvimento orientado a objetos e à Linguagem de Modelagem Unificada (UML). Discute os conceitos fundamentais da UML, sua história, utilidade e desenvolvimento. Também descreve os diferentes tipos de modelos e diagramas definidos pela UML para modelagem de sistemas.
Este documento apresenta os principais conceitos da Linguagem de Modelagem Unificada (UML). Resume os principais métodos de engenharia de software orientados a objetos que levaram ao desenvolvimento da UML e descreve os tipos de modelos e diagramas que compõem a UML, incluindo classes, sequências, casos de uso e máquinas de estados.
Este documento fornece um resumo da linguagem de modelagem UML (Unified Modeling Language). Apresenta os principais diagramas da UML como Diagrama de Casos de Uso, Diagrama de Classes, Diagrama de Sequência e Diagrama de Estados. Também descreve como a UML pode ser usada para modelar sistemas durante todo o ciclo de desenvolvimento de software.
O documento descreve os principais diagramas da UML e como criar um projeto web MVC usando conceitos da UML. Ele apresenta:
1) Os objetivos de entender a UML e seus diagramas e criar um projeto usando a modelagem;
2) Uma introdução à UML e seus diagramas como caso de uso, classes e MER;
3) Como criar os diagramas de caso de uso, classes e MER para o projeto e desenvolvê-lo no Visual Studio.
1) A UML foi desenvolvida por três especialistas em modelagem orientada a objetos para padronizar a notação usada nesse processo.
2) A UML é aplicada em diferentes fases do desenvolvimento de software, desde a análise de requisitos até os testes, usando diagramas como casos de uso, classes e sequência.
3) A UML tem nove tipos de diagramas que representam diferentes aspectos de um sistema, como funcionalidade, estrutura e comportamento.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
A UML tem origem na compilação das melhores práticas de engenharia de desenvolvimento de softwares. A UML é uma linguagem padrão para elaboração da estrutura de projetos de software e é adequada para modelagem de sistemas. A UML fornece blocos de construção como itens estruturais, comportamentais, de agrupamento e anotacionais para modelagem, além de relacionamentos e diagramas para visualização de diferentes perspectivas de um sistema.
O documento apresenta uma introdução à Linguagem de Modelagem Unificada (UML), descrevendo sua evolução, características e os principais diagramas utilizados, como diagramas de casos de uso, classes, sequência, estados e implantação.
O documento apresenta os diagramas estruturais da UML, incluindo diagramas de classes, pacotes, estrutura composta e componentes. Descreve a história e evolução da UML e como esses diagramas podem ser usados para modelar aspectos estáticos de um sistema de software.
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
[1] O documento apresenta uma visão geral sobre a linguagem de modelagem UML (Unified Modeling Language).
[2] São descritos os principais diagramas UML como diagramas de casos de uso, atividades, classes, seqüência e estados.
[3] O objetivo da UML é fornecer uma linguagem visual para especificar, construir e documentar artefatos de software, principalmente para ajudar na concepção e compreensão dos sistemas.
UML, Linguagem de Modelagem Unificada, é um padrão para modelagem visual de software.
Neste tutorial abordamos como utilizar a UML para fazer especificação de software através de conjunto de modelos e diagramas.
A modelagem visual facilita o entendimento e a comunicação do 'o quê' precisa ser feito e 'como' deverá ser feito o software;
A UML surgiu da unificação de três linguagens de modelagem orientadas a objetos no final dos anos 1990. Tornou-se uma norma para modelagem de sistemas orientados a objetos, adotada mundialmente. A UML possui diversos diagramas para representar diferentes aspectos de um sistema, como classes, casos de uso, atividades e estados.
1) O documento apresenta o método WAE para modelagem de aplicações web utilizando a linguagem UML, definindo novos estereótipos para representar elementos específicos da arquitetura web.
2) Apresenta os estereótipos de classe, como páginas do cliente e servidor, e de associação, como link e submit, utilizados na visão lógica do projeto web.
3) Discutem a visão de componentes da WAE, mapeando os elementos lógicos aos arquivos físicos por meio de diagram
O documento discute o diagrama de classes no UML. Ele explica que o diagrama de classes:
1. Representa as classes de um sistema, seus atributos, métodos e relacionamentos;
2. Pode ser usado nas fases de análise e projeto para modelar o domínio do problema e a solução;
3. Inclui conceitos como associação, herança, agregação, composição, dependência e outros.
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
Os slides fazem parte de uma atividade realizada pelos alunos da turma SIN-NA6 (6º semestre de Sistemas de Informação – 2º semestre de 2012)
Disciplina: Engenharia de Software II.
Curso: Sistemas de Informação.
Este documento apresenta os conceitos fundamentais da metodologia de desenvolvimento orientada a objetos, incluindo: 1) a definição de metodologia e orientação a objetos; 2) os conceitos de classe, objeto, herança e encapsulamento; 3) as diferenças entre metodologias estruturadas e orientadas a objetos.
[1] A autora apresenta um livro com 51 exercícios resolvidos de modelagem em UML, incluindo questões de concursos públicos. [2] O livro é dividido em capítulos tratando de temas como identificação de classes, atributos, relacionamentos e casos de uso a partir de exemplos reais. [3] A autora espera que o material atenda a professores, alunos e profissionais da área para ajudar no aprendizado prático de modelagem em UML.
O documento discute conceitos de modelagem orientada a objetos e a linguagem UML, incluindo diagramas e elementos básicos. Também aborda desafios no desenvolvimento de sistemas embarcados e a importância da adoção da UML.
O documento apresenta um resumo sobre diagrama de casos de uso no contexto de modelagem de sistemas com UML. Aborda conceitos como atores, casos de uso, associações entre casos de uso (generalização, inclusão e extensão) e a utilização de diagramas de casos de uso e suas documentações para modelar funcionalidades de um sistema do ponto de vista do usuário.
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
O documento apresenta uma introdução aos padrões de projeto de software descritos no livro "Patterns of Enterprise Application Architecture" de Martin Fowler. São descritos brevemente os padrões Lazy Load, Separated Interface, Value Object, Query Object, Repository, Identity Map, Unity of Work, Active Record e Service Layer.
Os diagramas de implementação representam a arquitetura física de um sistema e incluem o diagrama de componentes, que descreve a estrutura do código gerado e as dependências entre componentes de software, e o diagrama de implantação, que representa a topologia física do sistema e mapeia componentes de software ao hardware.
- nome
- idade
Cliente:
- nome
- cpf
Venda:
- data
- valorTotal
Produto:
- nome
- preço
Estoque:
- quantidade
- minimo
Financeiro
Pagamento:
- forma
- valor
- data
Conta:
- saldo
- numero
Extrato:
- data
- descricao
- valor
Neste exemplo, temos dois pacotes principais: Loja e Financeiro. Cada pacote contém classes
relacionadas ao seu contexto.
O pacote Loja contém classes sobre produtos
1) O documento descreve elementos da linguagem de modelagem UML, incluindo diagramas, notações e conceitos como classes, objetos, atributos e operações.
2) São apresentados os principais diagramas da UML como diagrama de classe, caso de uso, interação e implementação.
3) O documento explica conceitos-chave da UML como classes, objetos, atributos, operações, visibilidade, generalização e agregação.
O documento apresenta um roteiro para um minicurso sobre a linguagem UML e a ferramenta Astah. O roteiro inclui tópicos sobre a história da UML, introdução aos principais diagramas como casos de uso, classes, atividades e sequência, e como a ferramenta Astah pode ser usada para modelagem UML.
Este documento fornece uma introdução aos fundamentos da orientação a objetos e da linguagem UML. Explica conceitos como análise, paradigma estruturado vs orientado a objetos, propósitos da OO, conceitos como objetos e classes, e principais metodologias OO. Também apresenta o surgimento da UML, o que é UML, suas características e limitações.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). A UML foi criada para padronizar a modelagem orientada a objetos, unificando as melhores partes de metodologias existentes como Booch, OMT e OOSE/Objectory. A UML pode ser usada em todas as fases do desenvolvimento de software, desde a análise de requisitos até os testes, e serve para modelar diferentes tipos de sistemas.
Visibilidade e Diagrama de Classe de Projeto na UMLufpb
O documento descreve como criar diagramas de classes de projeto (DCPs) utilizando a UML. Explica os tipos de visibilidade entre objetos e como representá-los na UML. Apresenta um estudo de caso sobre a criação de um DCP para um sistema PDV, ilustrando os passos de identificar classes, atributos, métodos, associações e detalhes.
Este documento apresenta definições e exemplos de vários diagramas usados na análise e projeto de sistemas, incluindo diagramas de fluxo de dados, caso de uso, classe, pacotes, interação e estado. O objetivo é fornecer uma visão geral desses diagramas e como eles podem ser usados para modelar sistemas.
1) O documento discute a integração entre as tecnologias UML, CORBA e Java para o desenvolvimento de sistemas.
2) A UML pode ser usada para modelar a análise, projeto e implementação, integrando-se com CORBA e Java.
3) Um método é proposto utilizando UML para modelagem, CORBA para a arquitetura distribuída e Java para a implementação.
O documento apresenta os diagramas estruturais da UML, incluindo diagramas de classes, pacotes, estrutura composta e componentes. Descreve a história e evolução da UML e como esses diagramas podem ser usados para modelar aspectos estáticos de um sistema de software.
Apresentação sobre UML com foco nos Diagramas de Caso de Uso e Diagrama de Classes; apresentada na SESTINFO2009 (Semana de Estudos em Tecnologia da Informação) realizada na Universidade Metodista de São Paulo.
[1] O documento apresenta uma visão geral sobre a linguagem de modelagem UML (Unified Modeling Language).
[2] São descritos os principais diagramas UML como diagramas de casos de uso, atividades, classes, seqüência e estados.
[3] O objetivo da UML é fornecer uma linguagem visual para especificar, construir e documentar artefatos de software, principalmente para ajudar na concepção e compreensão dos sistemas.
UML, Linguagem de Modelagem Unificada, é um padrão para modelagem visual de software.
Neste tutorial abordamos como utilizar a UML para fazer especificação de software através de conjunto de modelos e diagramas.
A modelagem visual facilita o entendimento e a comunicação do 'o quê' precisa ser feito e 'como' deverá ser feito o software;
A UML surgiu da unificação de três linguagens de modelagem orientadas a objetos no final dos anos 1990. Tornou-se uma norma para modelagem de sistemas orientados a objetos, adotada mundialmente. A UML possui diversos diagramas para representar diferentes aspectos de um sistema, como classes, casos de uso, atividades e estados.
1) O documento apresenta o método WAE para modelagem de aplicações web utilizando a linguagem UML, definindo novos estereótipos para representar elementos específicos da arquitetura web.
2) Apresenta os estereótipos de classe, como páginas do cliente e servidor, e de associação, como link e submit, utilizados na visão lógica do projeto web.
3) Discutem a visão de componentes da WAE, mapeando os elementos lógicos aos arquivos físicos por meio de diagram
O documento discute o diagrama de classes no UML. Ele explica que o diagrama de classes:
1. Representa as classes de um sistema, seus atributos, métodos e relacionamentos;
2. Pode ser usado nas fases de análise e projeto para modelar o domínio do problema e a solução;
3. Inclui conceitos como associação, herança, agregação, composição, dependência e outros.
Engenharia de Software II - Atividade: Diagramas da UMLAlessandro Almeida
Os slides fazem parte de uma atividade realizada pelos alunos da turma SIN-NA6 (6º semestre de Sistemas de Informação – 2º semestre de 2012)
Disciplina: Engenharia de Software II.
Curso: Sistemas de Informação.
Este documento apresenta os conceitos fundamentais da metodologia de desenvolvimento orientada a objetos, incluindo: 1) a definição de metodologia e orientação a objetos; 2) os conceitos de classe, objeto, herança e encapsulamento; 3) as diferenças entre metodologias estruturadas e orientadas a objetos.
[1] A autora apresenta um livro com 51 exercícios resolvidos de modelagem em UML, incluindo questões de concursos públicos. [2] O livro é dividido em capítulos tratando de temas como identificação de classes, atributos, relacionamentos e casos de uso a partir de exemplos reais. [3] A autora espera que o material atenda a professores, alunos e profissionais da área para ajudar no aprendizado prático de modelagem em UML.
O documento discute conceitos de modelagem orientada a objetos e a linguagem UML, incluindo diagramas e elementos básicos. Também aborda desafios no desenvolvimento de sistemas embarcados e a importância da adoção da UML.
O documento apresenta um resumo sobre diagrama de casos de uso no contexto de modelagem de sistemas com UML. Aborda conceitos como atores, casos de uso, associações entre casos de uso (generalização, inclusão e extensão) e a utilização de diagramas de casos de uso e suas documentações para modelar funcionalidades de um sistema do ponto de vista do usuário.
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
O documento apresenta uma introdução aos padrões de projeto de software descritos no livro "Patterns of Enterprise Application Architecture" de Martin Fowler. São descritos brevemente os padrões Lazy Load, Separated Interface, Value Object, Query Object, Repository, Identity Map, Unity of Work, Active Record e Service Layer.
Os diagramas de implementação representam a arquitetura física de um sistema e incluem o diagrama de componentes, que descreve a estrutura do código gerado e as dependências entre componentes de software, e o diagrama de implantação, que representa a topologia física do sistema e mapeia componentes de software ao hardware.
- nome
- idade
Cliente:
- nome
- cpf
Venda:
- data
- valorTotal
Produto:
- nome
- preço
Estoque:
- quantidade
- minimo
Financeiro
Pagamento:
- forma
- valor
- data
Conta:
- saldo
- numero
Extrato:
- data
- descricao
- valor
Neste exemplo, temos dois pacotes principais: Loja e Financeiro. Cada pacote contém classes
relacionadas ao seu contexto.
O pacote Loja contém classes sobre produtos
1) O documento descreve elementos da linguagem de modelagem UML, incluindo diagramas, notações e conceitos como classes, objetos, atributos e operações.
2) São apresentados os principais diagramas da UML como diagrama de classe, caso de uso, interação e implementação.
3) O documento explica conceitos-chave da UML como classes, objetos, atributos, operações, visibilidade, generalização e agregação.
O documento apresenta um roteiro para um minicurso sobre a linguagem UML e a ferramenta Astah. O roteiro inclui tópicos sobre a história da UML, introdução aos principais diagramas como casos de uso, classes, atividades e sequência, e como a ferramenta Astah pode ser usada para modelagem UML.
Este documento fornece uma introdução aos fundamentos da orientação a objetos e da linguagem UML. Explica conceitos como análise, paradigma estruturado vs orientado a objetos, propósitos da OO, conceitos como objetos e classes, e principais metodologias OO. Também apresenta o surgimento da UML, o que é UML, suas características e limitações.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). A UML foi criada para padronizar a modelagem orientada a objetos, unificando as melhores partes de metodologias existentes como Booch, OMT e OOSE/Objectory. A UML pode ser usada em todas as fases do desenvolvimento de software, desde a análise de requisitos até os testes, e serve para modelar diferentes tipos de sistemas.
Visibilidade e Diagrama de Classe de Projeto na UMLufpb
O documento descreve como criar diagramas de classes de projeto (DCPs) utilizando a UML. Explica os tipos de visibilidade entre objetos e como representá-los na UML. Apresenta um estudo de caso sobre a criação de um DCP para um sistema PDV, ilustrando os passos de identificar classes, atributos, métodos, associações e detalhes.
Este documento apresenta definições e exemplos de vários diagramas usados na análise e projeto de sistemas, incluindo diagramas de fluxo de dados, caso de uso, classe, pacotes, interação e estado. O objetivo é fornecer uma visão geral desses diagramas e como eles podem ser usados para modelar sistemas.
1) O documento discute a integração entre as tecnologias UML, CORBA e Java para o desenvolvimento de sistemas.
2) A UML pode ser usada para modelar a análise, projeto e implementação, integrando-se com CORBA e Java.
3) Um método é proposto utilizando UML para modelagem, CORBA para a arquitetura distribuída e Java para a implementação.
O documento discute diagramas de componentes no UML. Aborda modelagem de código-fonte, versões executáveis, bancos de dados físicos e sistemas adaptáveis. Também fornece diretrizes para engenharia de produção e reversa desses diagramas.
O documento introduz a Linguagem de Modelagem Unificada (UML), que auxilia a visualizar o desenho de sistemas e a comunicação entre objetos por meio de diagramas. A UML fornece múltiplos diagramas para modelar diferentes aspectos de um sistema, como estrutura, comportamento e interações.
O documento discute diagramas de implementação para projetos de software, especificamente diagramas de componentes e diagramas de implantação. Diagramas de componentes mapeiam a arquitetura lógica de classes em termos de código-fonte. Diagramas de implantação mostram a organização do hardware e a ligação do software com dispositivos físicos.
O documento discute técnicas de modelagem de sistemas, incluindo diagramas de implantação, modelagem de sistemas embutidos, cliente-servidor e totalmente distribuídos. Fornece exemplos de como modelar diferentes aspectos da arquitetura de um sistema, como visões, subsistemas e relacionamentos entre elementos dos modelos.
O documento discute modelagem de dados usando diagramas UML, incluindo:
1) Diagrama de classe para representar a estrutura de armazenamento do sistema
2) Diagrama de sequência para mostrar a interação entre objetos ao longo do tempo
3) Diagrama de componentes para representar dependências entre componentes de software
Apresentação sobre Diagrama de Classes com exemplosmauroladeiafilho
O documento descreve os principais componentes e conceitos de diagramas de classes UML, incluindo classes, atributos, métodos, relacionamentos, pacotes e interfaces. Ele explica como diagramas de classes mapeiam a estrutura de sistemas de software modelando classes e suas interações.
O documento apresenta uma visão geral de UML (Linguagem de Modelagem Unificada), incluindo:
1) UML é um padrão da OMG para modelagem visual, especificação, construção e documentação de software orientado a objetos.
2) São apresentados diversos diagramas estruturais e comportamentais de UML como classe, caso de uso, sequência.
3) As vantagens da modelagem com UML incluem comunicação, entendimento, administração de riscos e reutilização.
O documento discute a linguagem de modelagem unificada (UML), incluindo seu histórico, conceitos, visões, diagramas e um exemplo de uso. Apresenta os principais tipos de diagramas UML como diagramas de classes, objetos, casos de uso, sequência, colaboração, estado, atividades, componentes e implantação.
O documento discute os conceitos fundamentais de arquitetura de software, incluindo: (1) arquitetura de software é o conjunto de estruturas que compõem um sistema, incluindo módulos, componentes e conectores, e alocação; (2) módulos dividem o sistema em unidades de implementação com responsabilidades específicas; (3) componentes e conectores representam elementos de software e suas interações em tempo de execução.
UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Apresenta diagramas para visualizar, especificar, construir e documentar aspectos estruturais e comportamentais de um sistema, incluindo classes, relacionamentos, casos de uso e sequências de eventos.
O documento fornece instruções para a realização de um teste de performance sobre modelagem de dados e diagramas UML. Os estudantes devem:
1) Criar diagramas de casos de uso para um sistema bancário com pelo menos 6 casos e 2 atores;
2) Descrever classes, objetos e interações de um sistema bancário;
3) Identificar as visões de sistema e diagramas UML utilizados.
O documento apresenta uma introdução sobre arquitetura de software, abordagens arquiteturais como recuperação e conformação arquitetural, e o sistema motivador myAppointments que será usado para exemplificar as técnicas. É descrita a arquitetura MVC do sistema e suas restrições arquiteturais.
O documento fornece uma introdução ao .NET Framework, descrevendo seu objetivo de fornecer um ambiente de programação orientado a objetos e consistente. Ele também descreve algumas das classes mais importantes do .NET Framework, incluindo Console, Math, Random e Environment.
O documento discute as diferenças entre Camadas e MVC. Camadas dizem como agrupar componentes (classes, objetos etc), enquanto MVC diz como esses componentes interagem. MVC separa a lógica de apresentação da lógica de negócios, enquanto Camadas isolam responsabilidades como apresentação, negócios e acesso a dados. Embora distintos, esses padrões arquiteturais podem ser aplicados juntos.
O documento descreve os principais conceitos de diagramas de classes, incluindo sua notação, tipos, relacionamentos e aplicações. Diagramas de classes são usados para modelar a estrutura de um sistema através de classes, atributos, operações e relacionamentos entre classes.
O documento fornece uma visão geral dos principais diagramas da UML, incluindo seus nomes, propósitos e notações. Resume cada diagrama, fornecendo exemplos de como modelar um sistema de reserva de hotel.
O documento descreve a linguagem UML (Unified Modeling Language) e seus principais conceitos. Em três frases:
A UML é uma linguagem padrão de modelagem que permite especificar e visualizar sistemas através de diagramas. Ela surgiu da união de três metodologias e é usada para modelar sistemas desde a análise de requisitos até a manutenção. A UML oferece vários tipos de diagramas como classe, caso de uso, sequência e atividade para modelar diferentes aspectos estruturais e comportamentais de um sistema
1) O documento discute programação orientada a objetos no C# usando padrões de projeto.
2) Apresenta um estudo de caso com classes Funcionário, FuncionárioHorista e Departamento para exemplificar conceitos como herança, encapsulamento e persistência.
3) O estudo de caso propõe o desenvolvimento em camadas MVC com uma camada adicional para persistência de objetos no banco de dados SQL Server.
1. Pedro Ramos,
Diagramas de Componentes
Os diagramas de componentes permitem modelar a componente
física do sistema (tabelas, ficheiros executáveis, libraries, etc.).
Um componente é um fragmento físico de um sistema, que pode
ser conectado a outros componentes e ser substituído por
equivalentes.
Desenhar um diagrama de componentes implica tomar opções de
desenho, nomeadamente no que diz respeito à forma de
encapsulamento da informação. A arquitectura do sistema final
começa a ser definida nestes diagramas (e é completada através
dos Diagramas de Distribuição).
Nos diagramas de componentes constam componentes, interfaces e
relações.
UML – Diagrama de Componentes
2. Pedro Ramos,
Interfaces
UML – Diagrama de Componentes
Uma interface é um conjunto de operações que especifica parte
do comportamento de um conjunto de classes. São as operações
(serviços) que as classe oferecem ao exterior (outras classes).
Uma interface é frequentemente vista como um conjunto de
classes apenas com operações (sem atributos).
O encapsulamento de classes (através das interfaces) faz com que
o exterior não tenha que conhecer a estrutura interna das classes.
Nomeadamente, alterações da estrutura de uma classe não têm
que ser comunicadas para o exterior.
Não confundir com as interfaces de JAVA.
3. Pedro Ramos,
Exemplo de Interface (I)
O acesso à base de dados deve estar isolado das restantes módulos do sistema.
Este desenho facilita a migração de SGBD’s e permite que uma interface
interactue com mais que um SGBD. Apenas as classes de ligação a SGBD
conhecem a base de dados (localização).
Sybase
Oracle
Classes de Interface
para SGBD
(Select ... From ....)
Classe
Classe
UML – Diagrama de Componentes
4. Pedro Ramos,
Exemplo de Interface (II)
Não é aconselhável que as classes gráficas (ecrãs) sejam muito dependentes
do modelo relacional (pequenas alterações na base de dados não deveriam
originar alterações nos ecrãs). Por outro lado, as classes que encapsulam o
acesso à base de dados (ie., que permitem o acesso aos dados) deverão ser
independentes dos ecrãs (de modo a poderem ser partilhadas por diferentes
módulos).
Sybase
Oracle
Classes de Interface para SGBD
(Select ... From ....)
Classe
Classe
Classe
Classe
Classes de Interface gráficas
(Listeners)
UML – Diagrama de Componentes
5. Pedro Ramos,
Arquitectura Genérica de uma Aplicação
Caso seja relevante poderá existir
mais que uma “camada” (diferentes
níveis de encapsulamento).
Classes de Interface
para SGBD (transacções,
abrir, fechar, executar sql,
ODBC, JDBC, etc ...)
Classes gráficas
Número Título Autor
001
013
Tabela (BD)
Ecrã
MidlleWare
Camada de software que contém as os requisitos da
aplicação e que liga a BD aos ecrãs
6. Pedro Ramos,
Classes Dados versus Classes Controlo
Classes de manipulação de dados
Número Título Autor
001
013
Tabela (BD)
Ecrã
MidlleWare
cliente
factura
produto
Gestão
Clientes
Gestão
Assiduidade funcionário
Tabela
Faltas
Classes de controlo de requisitos
Requisito:
“Caso o
funcionário
exceda n
faltas do tipo
A desconta no
vencimento”
Implementado em
classes de controlo? Em
classes de dados? ...
provavelmente nas
classes de controlo
7. Pedro Ramos,
Interfaces e Realização (I)
UML – Diagrama de Componentes
Uma classe pode disponibilizar várias interfaces (um certo
paralelismo com as views do modelo relacional) e uma interface
pode ser realizada por mais do que uma classe.
A Realização é a relação entre uma classe e uma interface.
<<Interface>> Factura
Emitir()
AdicionarLinha()
RemoverLinha()
Anular()
Arquivar()
Factura
Número
Data
Linha da factura
Produto
Quantidade
Preço Unitário
1 … *
1
Emitir()
Anular()
Arquivar()
AdicionarLinha()
RemoverLinha() Realização
Podem corresponder
apenas a “apontadores”
para os métodos da
classe
8. Pedro Ramos,
Interfaces e Realização (II)
UML – Diagrama de Componentes
<<Interface>>
Funcionário
Alterardados()
Inserir()
Consulta()
Funcionário
Nome
Morada
Telefone
<<Interface>>
Consulta
Funcionário
Consulta()
Será útil a classe funcionário?,
i.e, no desenho de uma
aplicação suportada por uma
base de dados, deverão ser
implementadas as classes
correspondentes às classes do
diagrama de classes?
As interfaces poderão ser
suficientes?
Os atributos são necessários?
Alterardados()
Inserir()
Consulta()
9. Pedro Ramos,
Interfaces e Realização (III)
UML – Diagrama de Componentes
Funcionário
Nome
Morada
Salário
Novo()
Remover()
Alterar()
Actualizar Salário()
Consultar()
Não é um método de objecto
Apenas é um método de objecto
caso seja consultar apenas a
ficha de um fornecedor
Funcionário
Nome
Morada
Salário
Alterar()
Actualizar Salário()
ConsultarFicha()
Funcionários
Novo()
Remover()
Consultar()
Necessidade de duas classes
(Funcionários não tem
atributos porque representa
a colecção dos
funcionários)
Os atributos das classes são
públicos? Não de acordo
com a teoria dos objectos
Implementação:
a)
Actualizar Salário (IDObjecto, Novo Salário)
Ou b)
Integer Id Objecto;
Float Salário;
SetID()
SetSalário()
Actualizar Salário ()
Na solução a) não são
necessários atributos na
classe Funcionário
Uma classe
abstracta
parece
suficiente ...
A solução b) é uma
tentativa de de aplicar uma
teoria de objectos a uma
teoria (relacional) que não é
orientada a objectos?
... mas tem desvantagens,
por ex., ordem de atributos
10. Pedro Ramos,
Interfaces e Realização (IV)
On click em botão actualiza salário ...
Funcionario f = new() Funcionario
f.actualizasalario(idf,salario)
Public actualizasalario(id, s)
Update ......
Desvantagem: Ordem de atributos é relevante
Relacional
Funcionárioslistener
11. Pedro Ramos,
Notas
UML – Diagrama de Componentes
Usualmente na representação gráfica não se discriminam as
operações de uma interface.
Forma gráfica mais habitual para representar interfaces:
Funcionário
Funcionário
Nome
Morada
Telefone
AlterarDados()
Inserir()
Consulta()
Consulta
Funcionário
12. Pedro Ramos,
Visibilidade
UML – Diagrama de Componentes
O tipo de visibilidade dos atributos e métodos pode ser
indicado nas classes. Os tipos são:
public(+) – acessível a todas as classes
private(-) – acessível apenas à classe de que fazem parte
protected (#) – acessível às classes que herdam a classe de que
fazem parte
Funcionário
# Nome
# Morada
# Telefone
# AlterarDados()
- Inserir()
+ Consulta()
Forma alternativa (mais rígida, igual
para todas as classes exteriores) de
implementar interfaces.
13. Pedro Ramos,
Componentes
UML – Diagrama de Componentes
Um componente é uma parte física de um sistema que está
localizado em um computador. Um componente pode ser visto
como uma implementação de uma classe ou conjunto de classes
(packages) e respectivas interfaces.
Um componente também disponibiliza interfaces para o exterior.
É usual tipificar (através de ícones) vários tipos de componentes.
Stock.java Stock.bdFormsStock
JDBC Interface
O componente Stock.java usa (usage dependency) o componente Stock.bd
através de uma interface JDBC
Method Invocation
14. Pedro Ramos,
Nota
UML – Diagrama de Componentes
É possível graficamente enumerar as classes ou packages
contidos num componente. Não é usual fazer-se por razões de
legibilidade do diagrama, mas, caso se opte por não o fazer, é
necessário indicar os elementos de um componente de uma forma
não gráfica (documento anexo).
15. Pedro Ramos,
Diagramas de Distribuição
(Deployment)
Enquanto que os diagramas de componentes modelam a
arquitectura do software, os diagramas de distribuição definem a
arquitectura do hardware. Desenhar um diagrama de distribuição
consiste essencialmente em distribuir os componentes por
unidades de hardware (computadores).
Nos diagramas de distribuição constam nós (processadores e
devices) e relações (usualmente ligações físicas, embora possam
ser indicadas relações de dependência).
Os processadores são os nós capazes de executar componentes,
enquanto os devices são utilizados para discriminar a interface
para o exterior (impressoras, modems, monitores, etc.).
UML – Diagrama de Distribuição
16. Pedro Ramos,
Representação Gráfica
UML – Diagrama de Distribuição
FormStock.java
<< processador>>
ISP
<< device>>
Modem
<< processador>>
Cliente
Stock.java
Stock.bd
<< processador>>
Servidor
<< device>>
Impressora
<< device>>
Monitor
A indicação de
estereótipos é opcional
Indicação dos
componentes
Duas camadas
no mesmo
computador
Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.
Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.
Pode acontecer que as classes de interface para o cliente comuniquem directamente com as classes de interface para SGBD. No esquema estou a assumir situações em que várias classes (por exemplo, uma por tabela) podem ter apenas uma classe de interface para o exterior.