Anda di halaman 1dari 16

Mestrado em Engenharia Informática

Ramo Desenvolvimento de Aplicações


2018/2019

Arquitecturas de Software

Aula 4
João Pedro Silva
joao.silva@ipca.pt
Plano de Aulas
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

1. Background & Preparation


2. Framework: Fundamentos e Conceitos
3. Design Patterns & Anti-Patterns
4. Modelos de Implementação
5. Arquétipos de Soluções

2
© João Pedro Silva @ joao.silva@ipca.pt
Plano de Aulas
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

1. Background & Preparation


2. Framework: Fundamentos e Conceitos
e.g. Arquiteturas, Arquiteturas de SW, Lógica vs Funcional, Requisitos,
Constraints, Qualidade, Risco, Etc..
3. Design Patterns & Anti-Patterns
e.g. Singleton, Observer, Mediator, Iterator, etc.
4. Modelos de Implementação
e.g. N-Tier, MVC, MVP, MVVM
5. Arquétipos de Soluções
e.g. Stand Alone (DeskTop), Web, Mobile, Cloud, etc.
Pre-Requisitos que ajudam:
- Análise de Sistemas de Informação (UML, etc...)
- Competências de Programação (OO) 3
© João Pedro Silva @ joao.silva@ipca.pt
Arquitetura
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

ISO/IEC 42010:2007defines “architecture” as:


“The fundamental organization of a system, embodied in its
components, their relationships to each other and the
environment, and the principles governing its design and
evolution.”

1ISO/IEC 42010:2007, Systems and Software Engineering – Recommended Practice for Architectural
Description of Software-Intensive Systems, Edition 1 (technically identical to ANSI/IEEE Std 1471-2000).
© João Pedro Silva @ joao.silva@ipca.pt
Arquitetura
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

• Organização de um sistema para satisfazer requisitos


funcionais e não funcionais.
• Dirigida a vários níveis de abstração.
• Identificação de componentes.
• Especialização e independência de componentes.
• Relação entre componentes.
Architecture: abstraction of reality
• Relação com o ambiente.
• Components
• Reutilização. (abstração de unidade funcional)

• ... • Relations (abstração da interação entre componentes)

• Data (abstração da informação)


© João Pedro Silva @ joao.silva@ipca.pt
Bibliografia
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

• http://www.devshed.com/c/a/Web-Services/Introduction-to-
Service-Oriented-Architecture-SOA/

• http://www.opengroup.org

• http://pubs.opengroup.org/architecture/togaf9-doc/arch/

• Ian Gorton; “Essential software architecture”, 2nd ed., Springer,


2011

© João Pedro Silva @ joao.silva@ipca.pt


The Open Group Architecture Framework
(TOGAF)
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

• Framework que auxilia a criar, detalhar, avaliar e construir uma arquitetura


de TI correta para as organizações, promovendo o alinhamento entre as
necessidades do negócio e o parque tecnológico.
• TOGAF subdivide uma arquitetura corporativa em 4 Níveis:
• Arquitetura de Negócio: São os processos de negócio utilizados pelas empresas
para atingir a sua estratégia de negócio.

• Arquitetura de Sistema de informação: Descreve o conjunto de aplicações que são


utilizados pelas empresas e como eles interagem e entregam a informação para os
processos de negócio.

• Arquitetura técnica: Descreve toda a infraestrutura de hardware e software que


suportam a operação do negócio, aplicações e dados, bem como as suas interações.
• Arquitetura dos Dados: Descreve a estrutura de dados lógicos e físicos da empresa
e todos os recursos de gestão de dados associados.

http://www.opengroup.org
© João Pedro Silva @ joao.silva@ipca.pt
The Open Group Architecture Framework
ArchiMetal Case Study
(TOGAF)
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

http://pubs.opengroup.org/architecture/togaf9-doc/arch/
© João Pedro Silva @ joao.silva@ipca.pt
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

TOGAF
ArchiMetal Case Study

© João Pedro Silva @ joao.silva@ipca.pt


Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

Arquitetura de Negócio

© João Pedro Silva @ joao.silva@ipca.pt


Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

© João Pedro Silva @ joao.silva@ipca.pt


Arquitetura de “sistema de informação”
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

© João Pedro Silva @ joao.silva@ipca.pt


Arquitetura de tecnologia - software
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

Arquitetura de Software

© João Pedro Silva @ joao.silva@ipca.pt


Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

Arquitetura de software

© João Pedro Silva @ joao.silva@ipca.pt


Arquitetura Exercício:
Recolha e Distribuição de encomendas
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

Há pontos fixos e sistemáticos de Há pedidos casuais de recolha e entrega de


recolha e entrega de encomendas, p.e. encomendas
empresas e instituições • notificação de pedido de recolha com
• Localização, dias e horas de recolha coordenadas, id cliente, volume peso,
destino (via web, telefone, mobile)
• Localização de entregas • notificação ao destinatário de encomenda
• confirmação de entregas (mobile) (SMS, mail, portal, mobile)
• notificação de cliente a informar não • notificação do destinatário com
haver encomenda a levantar (web e coordenadas, hora e local de entrega (web,
mobile).
mobile)
• volumes e pesos transportados, Ter em consideração:
afetação de veículos e recursos de • Faturação: • pago pelo
transportes remetente;
• de serviços
periódicos; • pago pelo
destinatário;
• ao serviço prestado;
• à cobrança.
© João Pedro Silva @ joao.silva@ipca.pt
Esboço “inspirador” e incompleto de arquitetura de
negócio
(da aula)
Mestrado em Engenharia Informática, Ramo Desenvolvimento de Aplicações, 2018/2019

💻
📱

📡
© João Pedro Silva @ joao.silva@ipca.pt