Arquitetura de Software

Documentos relacionados
Arquitetura de Software

DSS. Desenvolvimento Software Seguro. Weber Ress

Arquitetura de Software: Introdução

Arquitetura de Software: Introdução

Requisitos Não-Funcionais. Jaelson Castro

Gestão de Requisitos Desenvolvimento de Requisitos. Rodolfo S F Resende

Introdução. Conteúdo. Usabilidade. Engenharia de software X Usabilidade. Benefícios. Introdução. Introdução. Introdução. Introdução.

Requisitos não funcionais

Introdução 27/9/2005. Prof.: Clarindo Isaías Pereira da Silva e Pádua Departamento de Ciência da Computação UFMG Gestus. Usabilidade.

Arquitetura de Software

Arquitetura de Software: Documentação

O Fluxo de Requisitos

AVALIAÇÃO DE PRODUTOS DE SOFTWARE

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Planning for and Managing Devices in the Enterprise: Enterprise Management Suite (EMS) & On-Premises Tools (20398)

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Glossário de Terminologia Engenharia de Requisitos

Arquitetura de software

Análise e Projeto Orientado a Objetos

Arquitetura de Software: Documentação

Projecto Test Management Apresentação 2º Semestre

AVALIAÇÃO DA QUALIDADE DE UM SISTEMA ACADÊMICO: ESTUDO DE CASO NO Q- ACADÊMICO

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Padrões Arquiteturais

Rational Unified Process (RUP)

WORKSHOP C-ROADS PORTUGAL

Aula 11 - Fluxo do RUP: Ambiente

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Análise e projeto de sistemas

As Visões. Visões arquiteturais (revisão)

3 Medição de Software

Ciclo de vida: fases x atividades

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2017

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Arquitetura de Software Parte 3/3 Architecture Business Cycle. Jorge H. C. Fernandes Junho de 1999

Introdução À Engenharia De Software Com Foco No RUP: Rational Unified Process

Introdução à Qualidade de Software

ISO/IEC SYSTEMS AND SOFTWARE QUALITY REQUIREMENTS AND EVALUATION (SQUARE)- SECURITY

Engenharia de Software ENGENHARIA DE REQUISITOS

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

Engenharia de Usabilidade

Qualidade de Software

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

AN APPROACH TO ASSESS SAFETY CONSIDERING INTEGRITY OF DATA OF ADS-B BASED AERIAL SYSTEMS

1 Conceitos da qualidade

Desenvolvimento de Aplicações Distribuídas

PAS SI SUPPORT BUSINESS. Mauro Pozzan.

Secretary Of Complementary Pension

Modelos de design arquitetural

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Análise e Projeto em SOA (Service Oriented Architecture)

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999

Uma Visão Geral de Redes de Computadores

Análise e Modelagem de Desempenho de Sistemas de Computação. Profa. Jussara M. Almeida 1 o Semestre de 2011

Introdução à Engenharia de Software

Lista de Exercícios. 1. Explique o que significa a figura abaixo e em que contexto do MOF/ITIL ela aplica. Define.

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

BITDEFENDER GRAVITYZONE. Diogo Calazans Diretor Comercial

Design de Multimédia e Interacção

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Transcript name: 1. Introduction to DB2 Express-C

QUALIDADE DE PRODUTO DE SOFTWARE

06/10/16 Ademir Santos EVANCE PLATAFORMA NA NUVEM

Levantamento, Análise e Gestão Requisitos. Aula 05

Levantamento, Análise e Gestão Requisitos. Aula 02

Administering Microsoft Exchange Server 2016 ( )

Controle - 1. Monitorar e Controlar o Trabalho do Projeto Verificação do Escopo Controle do Escopo. Mauricio Lyra, PMP

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

VMware vsphere: Install, Configure, Manage [v6.5] (VWVSICM6.5)

Versão 3.2br. Foundation Level Specialist. Performance Testing

Análise Arquitetural. Bruna C. Rodrigues da Cunha Humberto Lidio Antonelli

Introdução à Engª de Requisitos

ENGENHARIA DE SOFTWARE

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)

Cláudio Piccolo Fernandes 1, Walkiria Cordenonzi 2

Apresentação da Disciplina

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Os principais desafios de Implementar um Processo de Planejamento de Gestão de Capacidade e Performance

Engenharia de Software ( ) Docente: Eng.ª Isabel Sofia Brito Discentes: José Janeiro, ei2467 Joaquim Gomes, ei4349

Documento de Requisitos*

Manutenção de Software

IT Governance e ISO/IEC Susana Velez

Introdução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1.

Escopo: PROCESSOS FUNDAMENTAIS

Pós-Graduação em Computação Distribuída e Ubíqua

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Análise e Projeto Orientados a Objetos

Tópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais

SABiO: Systematic Approach for Building Ontologies

2

Engenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Transcrição:

Arquitetura de Software Engenharia de Software I Estagiária PAE: Lina María Garcés Rodríguez Profa. Dra. Elisa Yumi Nakagawa 29-06-2015 São Carlos

Conteúdos Introdução à Arquitetura de Software Funções do Arquiteto de Software Processo de Desenvolvimento e a Arquitetura de Software Requisitos Arquiteturais Projeto da Arquitetura de Software Documentação da Arquitetura de Software Avaliação da Arquitetura de Software 2

Conteúdos Primeira parte Introdução à Arquitetura de Software Funções do Arquiteto de Software Processo de Desenvolvimento e a Arquitetura de Software Requisitos Arquiteturais Projeto da Arquitetura de Software Documentação da Arquitetura de Software Avaliação da Arquitetura de Software 3

Introdução à Arquitetura de Software 4

1. Introdução à Arquitetura de Software Arquitetura de software tem emergido como uma sub-disciplina importante da engenharia de software (Clements et al. 2010). De forma geral, arquitetura é uma divisão prudente do todo em partes, com relações específicas entre as partes (Clements et al. 2010). 5

1. Introdução à Arquitetura de Software Definição Arquitetura de software: (SEI 2005; Garlan et al. 2000) Estrutura de componentes de um programa/sistema, os relacionamentos entre esses componentes, os princípios e diretrizes que governam os projetos e a evolução dos softwares. 6

1. Introdução à Arquitetura de Software Diferença entre Arquitetura de Software e Design de Software A arquitetura é projeto, mas nem todo projeto pode ser considerado arquitetura. Ou seja, muitas decisões de projeto não são consideradas na arquitetura, mas são deixadas para que os programadores ou outros projetistas façam. A arquitetura estabelece restrições nas atividades futuras, e essas atividades devem produzir artefatos (código ou projeto mais detalhados) conforme à arquitetura. (Clements et al. 2010). 7

1. Introdução à Arquitetura de Software Importância da Arquitetura de Software (Bass et al. 2003). Comunicação entre stakeholders A arquitetura de software representa uma abstração comum de um sistema que a maioria (ou todos) os stakeholders podem utilizar como base para o entendimento, negociação, consenso, e comunicação. Abstração transferível do sistema A arquitetura de software constitui um modelo relativamente pequeno e compreensível, de como o sistema é estruturado e como seus elementos trabalham juntos. Esse modelo é transferível no sistema. Esse modelo pode ser utilizado em outros sistemas que tenham atributos de qualidade e requisitos funcionais similares. 8

Funções do Arquiteto de Software 9

Funções do Arquiteto de Software As funções e responsabilidades do arquiteto variam dependendo do tipo de sistema. As mais comuns são (Garland and Anthony 2003).: Estabelecimento dos requisitos: O arquiteto tipicamente é o responsável pelo entendimento e gestão dos requisitos não funcionais do sistema. O arquiteto pode trabalhar diretamente com os stakeholders. Avaliação do risco técnico do sistema: O arquiteto deve fornecer um plano de gestão do risco. Deve poder avaliar o impacto que uma mudança nos requisitos terá no sistema, e avaliar o risco dessas mudanças. Análise do domínio do sistema: O arquiteto deve ser capaz de dividir os problemas em partes e estruturar soluções que possam abordar as necessidades da organização. Revisor dos entregáveis do sistema. Mentor de projetistas e desenvolvedores Desenvolvedor (em projetos pequenos) Líder da equipe 10

Processo de Desenvolvimento e a Arquitetura de Software 11

2. Processo de desenvolvimento e a Arquitetura de Software Projeto da Arquitetura de Software IBM Rational Unified Process. Fonte: Wikipedia 12

2. Processo de desenvolvimento e a Arquitetura de Software Processo de Projeto da Arquitetura de Software (Gorton 2006). 13

Processo de Projeto da Arquitetura de Software 1. Requisitos Arquiteturais 14

3. Estabelecer os Requisitos Arquiteturais Atributos de Qualidade Restrições (Gorton 2006). 15

3. Estabelecer os Requisitos Arquiteturais Exemplos de Requisitos Arquiteturais A typical architecture requirement concerning reliability of communications is: Communications between components must be guaranteed to succeed with no message loss Some architecture requirements are really constraints, for example: The system must use the existing IIS-based web server and use Active Server Page to process web requests 16

3. Estabelecer os Requisitos Arquiteturais Qualidade de Software Qualidade de software : Grau de satisfação que um produto software alcança quando é utilizado em condições específicas (ISO/IEC 25000:2005) Atributo de Qualidade: Uma caraterística de software que especifica o grau que deve possuir um atributo que afeta a qualidade do software (ISO 2001). Exemplos: Usabilidade, confiabilidade, performance, etc. Modelo de Qualidade: Conjunto de caraterísticas, e relacionamento entre elas, que fornecem um marco de referência para especificar requisitos de qualidade e avaliar a qualidade do software (ISO/IEC 25000:2005). 17

3. Estabelecer os Requisitos Arquiteturais Modelo de Qualidade ISO/IEC 25010 Software Product Quality Functional Suitability Reliability Performance efficiency Usability Security Compatibility Maintainability Portability Appropriateness Availability Time-behaviour Appropriateness recognisability Confidentiality Co-existence Modularity Adaptability Completeness Fault tolerance Resourceutilisation Learnability Integrity Interoperability Reusability Installability Correctness Recoverability Capacity Operability Non-repudiation Analyzability Replaceability Maturity User error protection Accountability Changeability User interface aesthetics Authenticity Modificability Accessibility Testability 18

3. Estabelecer os Requisitos Arquiteturais Atributo de Qualidade Modelo de Qualidade ISO/IEC 25010 Definição Exemplo de Requisito Arquitetural Functional Suitability Reliability Performance efficiency Usability Security Compatibility Maintainability Portability degree to which a product or system provides functions that meet stated and implied needs when used under specified conditions degree to which a system, product or component performs specified functions under specified conditions for a specified period of time performance relative to the amount of resources used under stated conditions degree to which a product or system can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use degree to which a product or system protects information and data so that persons or other products or systems have the degree of data access appropriate to their types and levels of authorization degree to which a product, system or component can exchange information with other products, systems or components, and/or perform its required functions, while sharing the same hardware or software environment degree of effectiveness and efficiency with which a product or system can be modified by the intended maintainers degree of effectiveness and efficiency with which a system, product or component can be transferred fromone hardware, software or other operational or usage environment to another A aplicação deve permitir o pagamento por cartão de crédito de forma segura. Perda de pacotes de dados menor que o 0.01% Tempo de processamento menor de 0.01 segundo. Fornecer interfaces para usuários com deficiências e que sejam fáceis de utilizar Utilizar senhas criptografadas. Que a aplicação possa compartilhar informações com redes sociais facebook, twitter, instagram. O tempo de atualização deve ser menor de 2 horas. Que a aplicação possa ser utilizada em plataformas windows, mac, linux, android, etc. 19

3. Estabelecer os Requisitos Arquiteturais Os atributos de qualidade não são ortogonais. Eles interagem de formas sutis, ou seja, um projeto que está em conformidade com um atributo de qualidade pode ter um efeito prejudicial sobre outro requisito. Exemplo: Alto performance vs Portabilidade. Simplesmente não é possível satisfazer completamente todos os atributos de qualidade desejados em um sistema software. 20

3. Estabelecer os Requisitos Arquiteturais Exercício de aula Selecione uma aplicação dentre as seguintes: Whatsapp Facebook messenger Instagram Youtube Twitter Skype Spotify Dropbox Netflix Waze social GPS Maps & Traffic Pense em pelo menos cinco requisitos que o arquiteto da aplicação considerou ao projetar sua arquitetura. 21