Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em...
Transcript of Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em...
![Page 1: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/1.jpg)
Desenvolvimento de
Software Baseado em
Componentes Paulo C. Masiero
1
![Page 2: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/2.jpg)
Introdução
• Frustração com as promessas da
Orientação a objetos em relação ao reuso
de classes.
• Frameworks são uma solução para um
domínio específico que consideram uma
arquitetura OO composta de várias
classes.
• DSBC surgiu nos anos 90 como uma
solução mais ampla e independente.
2
![Page 3: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/3.jpg)
Introdução
• DSBC: processo de definição,
implantação e integração ou composição
de componentes independentes, não
firmemente acoplados ao sistema.
• DSBC tem quatro pontos principais:
– Componentes independentes.
– Padrões de componentes.
– Middlewares para apoiar a integração.
– Processo de desenvolvimento.
3
![Page 4: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/4.jpg)
Problemas
• Confiabilidade dos componentes
• Certificação de componentes
• Previsão de propriedades emergentes
• Compromisso de requisitos (como
selecionar e configurar componentes?) 4
![Page 5: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/5.jpg)
Componentes e modelos de
componentes
• Um componente de software é uma unidade de
composição com interfaces contratualmente
especificadas e dependências de contexto
explícitas. Um componente de software pode
ser implantado independentemente e está
sujeito a composição por terceiros
• É uma unidade executável independentemente.
• Os serviços oferecidos são disponibilizados
somente por meio de uma interface.
5
![Page 6: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/6.jpg)
O processo de DSBC
• Há alguns métodos propostos para o DSBC
– UML Components
– Catalysis
• Em linhas gerais:
– Especificar os requisitos do sistema (é
preciso um conjunto completo)
– Refinar e modificar os requisitos, dependendo
dos componentes disponíveis
– Projetar a arquitetura do sistema e buscar
componentes
– Desenvolver compondo os componentes 6
![Page 7: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/7.jpg)
7
Formas de componentes
• A visão do componente muda durante o ciclo de vida do projeto
• Há diversas formas de componentes e cada uma reflete algum aspecto do componente durante o ciclo de desenvolvimento
• Definição das diversas formas do componente, ao invés de definição de componente
![Page 8: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/8.jpg)
8
Formas de componentes
Ex. MS Word
Interface de
componente
Especificação
de componente
Implementação
de componente
Componente
instalado
Objeto
componente
1..*
*
suporttedInterface
1
* concretização
1
* instalação
1
* instância
Especificação de uma unidade de
software que descreve o comportamento
de um conjunto de objetos componentes
e define uma unidade de implementação
Definição de um
conjunto de
comportamentos
que podem ser
oferecidos por um
objeto componente
Concretização de uma especificação de
componente. Pode ser instalado e
substituído independentemente de outros
componentes
Uma implementação
registrada no ambiente
de execução
Uma instância de um
componente instalado. Executa o
comportamento implementado
![Page 9: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/9.jpg)
9
Formas de componentes
• Em tempo de execução o componente
possui conteúdo (estado)
– Além dos serviços providos pelo componente,
a informação gerenciada também é
importante
– Na substituição do componente deve-se
garantir os serviços e as informações
![Page 10: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/10.jpg)
10
Arquiteturas de Sistema e de
Componentes
• Arquitetura de sistema
– Estrutura das partes que compõem uma
instalação completa de software (incluindo
responsabilidades, interconexões, etc)
![Page 11: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/11.jpg)
11
Arquiteturas de Sistema e de
Componentes
• Arquiteturas de componente
– Um conjunto de componentes de software,
seus relacionamentos estruturais e suas
dependências de comportamento (nível de
aplicação)
![Page 12: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/12.jpg)
12
Arquiteturas de Componentes
• Arquitetura de objeto componente
– Especifica as instâncias do componente que
serão acessadas
:OrderMgr
:ProductMgr
:Stock
Control:OrderMgr
ordering
:ProductMgr
:Stock
Control
stockctl
:ProductMgr
![Page 13: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/13.jpg)
Contratos de uso e de
implementação
13
![Page 14: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/14.jpg)
Contratos de uso
• Lista das operações
• Cada operação, além da sua assinatura é
definida por uma pré-condição e uma pós-
condição (Pode ser usado OCL para isso).
• Modelo de Informação : informação ou
estado que é mantido (persistido) entre
requisições de clientes.
14
![Page 15: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/15.jpg)
15
Processo de Desenvolvimento
Requirements
Specification Provisioning Assembly
Test
Deployment
Use case
models
Use case
models
Business concept
models
Business
requirements
Existing
assets
Technical
constraintsComponents
Applications
Tested
applications
Component specs
& architectures
Gera um conjunto de
especificações de
componentes e uma
arquitetura de
componentes
Assegura que os
componentes
necessários estejam
disponíveis (compra,
reuso, desenvolvimento)
Junta os
componentes com
softwares existentes
e interface,
produzindo a
aplicação
![Page 16: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/16.jpg)
16
Sub-processos (ou workflows)
Especificação
Fornecimento
Requisitos Definição de Requisitos
Identificação de Componentes
Interação de Componentes
Especificação de Componentes
Montagem
? Modelo de conceito de negócio
? Modelo de caso de uso
? Modelo de tipo de negócio
? Especificações de interface
? Especificações de componente
? Arquitetura de componente
Provisionamento
![Page 17: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/17.jpg)
17
Artefatos do processo
Requisitos • Modelo de conceitos de negócio
– Cria um vocabulário comum entre os
envolvidos no projeto
• Modelo de casos de uso
– Descreve as interações entre um usuário e o
sistema e auxilia na identificação dos limites
do sistema
![Page 18: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/18.jpg)
18
Artefatos do processo
Especificação • Modelo de tipos de negócio
– Formaliza o modelo de conceito de negócio e
define o conhecimento que o sistema possui
do mundo externo
• Especificações de interface
– Conjunto de especificações de interface
– Cada especificação de interface é um
contrato com um cliente de um objeto
componente
![Page 19: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/19.jpg)
19
Artefatos do processo
Especificação • Especificações de componente
– Conjunto de especificações de componente
– Cada especificação de componente é
definida em termos de especificações e
restrições
• Arquitetura de componente
– Descreve como especificações de
componentes são combinadas em uma
determinada configuração
![Page 20: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/20.jpg)
20
Operações
necessárias e
alocação de
responsabilidades
Especificação
precisa das
operações,
interfaces e
componentes
Arquitetura inicial
de componentes a
partir dos
requisitos
Desenvolver modelo de
tipo do sistema
Identificar interfaces de
negócios
Identificar interfaces de
sistema e operações
Descobrir operações de
negócio
Refinar interfaces e
operações
Refinar especificação e
arquitetura dos
componentes
Definir interface dos
modelos de informação
Especificar restrições
Componete-interface
Especificar pré- e pós-
condições das operações
Criar especificação e
arquitetura inicial dos
componentes
Modelo do conceito
do negócio
Interfaces
existentes
Modelo de
casos de uso
Assets
existentes
Padrões de
arquitetura
Modelo de
tipo de
negócio
Especificações e
arquiteturas dos
componentes
InterfacesEspecificações e
arquiteturas dos
componentes
Especificação de
componentes
Interfaces
Interação de
componentes
Identificação de
componentes
Interfaces de
negócios
ESPECIFICAÇAO
![Page 21: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/21.jpg)
21
Processo de especificação
• Identificação de componente
– Identifica um conjunto inicial de interfaces de
negócios (componentes de negócios) e
interfaces de sistema (componentes de
sistema)
– Junta as interfaces em uma arquitetura de
componente inicial
– Operações que deverão ser apoiadas pelo
sistema
![Page 22: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/22.jpg)
22
Processo de especificação
• Interação de componente
– Examina como cada operação do sistema
será alcançada, usando a arquitetura de
componente
– Operações são movidas entre interfaces
– Detalhes completos da estrutura do sistema
– Entendimento das dependências entre
componentes
![Page 23: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/23.jpg)
23
Processo de especificação
• Especificação de componente
– Especificação detalhada das operações e
restrições
– Para cada interface, definição dos potenciais
estados dos objetos componentes num
modelo de informação de interface e
especificação das pré- e pós-condições das
operações e captura dos papéis de negócio
como restrições
![Page 24: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/24.jpg)
Notação utilizada: UML
• Tipos de Interface
– <<interface type>>
– Nome prefixado por um I
• Especificação de Interfaces
• Tipos de dados estruturados
24
![Page 25: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/25.jpg)
• <<interface>> da UML pode implementar
um tipo de interface
25
![Page 26: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/26.jpg)
26
![Page 27: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/27.jpg)
Modelos de Informação
• Objetivos: definir interfaces independentes
• Modelos de tipos de negócios
– Tipos de informação <<info type>>
– Um único modelo integrado
– Os tipos são exclusivos de cada interface
27
![Page 28: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/28.jpg)
Especificação de interfaces
28
![Page 29: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/29.jpg)
Especificação de
Componente • Oferece um conjunto de tipos de interface
• Usa o estereótipo: <<comp spec>>
• Um diagrama de especificação de
componente foca em uma única
especificação de componente e detalha
suas dependências individuais.
29
![Page 30: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/30.jpg)
Modelos de Informação
• Especificação de operação
– Uma assinatura é composta por um ou mais
parâmetros
– Tipos de dados são sempre passados por
valor.
– Possui uma assinatura com 0 ou mais
parâmetros tipados
30
![Page 31: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/31.jpg)
Interação de instâncias
(objetos) de componentes
31
![Page 32: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/32.jpg)
Arquitetura de componentes:
32
![Page 33: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/33.jpg)
Arquitetura de Objeto componente
Especifica as instâncias que serão
acessadas
33
![Page 34: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/34.jpg)
O processo de projeto
(design)
Definição dos Requisitos
34
![Page 35: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/35.jpg)
(Engenharia de) requisitos
35
![Page 36: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/36.jpg)
36
Processo de negócio para reservar um quarto
em hotel
![Page 37: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/37.jpg)
37
Modelo Conceitual
![Page 38: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/38.jpg)
Descrição do Sistema de
Reserva de Hotel • Deseja-se desenvolver um sistema de reserva de hotel a ser feito
para qualquer hotel de uma cadeia. Presentemente cada hotel tem
seu próprio sistema de reservas e eles são incompatíveis entre si.
As reservas podem ser feitas por telefone a uma central de reservas
ou diretamente em cada hotel ou pela Internet. A maior vantagem
do sistema será oferecer acomodações em hotel alternativos
quando o desejado está cheio. Cada hotel terá suas próprias
instalações para fazer reservas na recepção, no escritório e na
mesa do porteiro. Cada hotel tem um administrador de reservas que
é responsável por controlar as reservas do hotel, mas qualquer
usuário autorizado poderá fazer reservas. O tempo esperado para
completar uma reserva por telefone é 3m. Para agilizar o processo,
os detalhes de clientes anteriores serão armazenados e tornados
disponíveis.
38
![Page 39: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/39.jpg)
39
Casos de use – Modelo de Processo de
Negócio com responsabilidades
![Page 40: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/40.jpg)
40
Diagrama de Casos de Uso
![Page 41: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/41.jpg)
41
![Page 42: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/42.jpg)
42
![Page 43: Desenvolvimento de Software Baseado em Componentes...Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução •Frustração com as promessas da Orientação](https://reader034.fdocumentos.com/reader034/viewer/2022051905/5ff7ae4f9e64dd5aca34a3c4/html5/thumbnails/43.jpg)
43