Upload
marcio-rangel
View
14
Download
0
Embed Size (px)
Citation preview
Stakeholders e Escolha de Views Disciplina: Arquitetura de SoftwareAlunas: Lcia Spnola Simone Amorim
AgendaArquitetura de Software breve reviso
Stakeholders
Arquitetura e atributos de qualidade
Stakeholders e atributos de qualidade
Tipos de Stakeholders, seus interesses e tipos de viso associados
Exemplo de conflitos de interesses SASF
Concluses
Reviso O que arquitetura de software?
... 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.
ANSI/IEEE Std 1471-2000Recommended Practice for Architectural Description of Software-Intensive
RevisoDocumentao da Arquitetura de Software (CLEMENS et al ,2001)
Um meio para apresentar o sistema s pessoas;um veculo de comunicao entre os interessados no sistema;a base para a anlise do sistema.
Lucia - Idealmente, esta representao fornece um guia de entendimento intelectual do sistema como um todo, permitindo aos projetistas raciocinar sobre a possibilidade do sistema satisfazer a determinadas exigncias, e sugere um blueprint para a construo do sistema e a sua composio
MissionSystemArchitectureStakeholderEnvironment Architecture DescriptionConcernViewpointViewRationaleInfluenciaInseridoTem umaDescrita porModelo IEEE - 1471-2000
Tipo de Vises e estilos
DecomposioGeneralizao Module ViewtypeUsoCamadasPipe and FilterShared-dataClient-ServerPublish-SubscribeC&C ViewtypePeer-to-PeerCommunicating ProcessesPipe and FilterShared-DataDeploymentAllocation ViewtypeImplementationWork assignmentInterfacesVariability guidesOutrosContest diagramsAnalysis resultsMapping between viewsRationales and constraints
Quantas vises so necessrias?O quanto de detalhes devem conter?
Outras perguntas:
Qual o perfil das pessoas envolvidas?Qual o oramento?Qual o tempo disponvel?Quem so os stakeholders?
Lucia - Estas perguntas (as primeiras) s sero respondidas diante do real contexto do projeto se estas outras perguntas forem respondidas
Fazer um tradeoff - qual o onus de ongo prazo em funo de se deixar de investir no curto prazo.
Stakeholders - definio Um stakeholder em uma arquitetura de software uma pessoa, grupo ou entidade com um interesse ou preocupaes sobre a realizao da arquitetura. (ROZANSKI; WOODS, 2005 apud GERMOGLIO, 2009)
Lucia - Enterder quem so os Stake e suas necessidades de informao fundamental para a escolha das visesLucia - O sucesso ou fracasso de uma arquitetura depende do conhecimento que se tem dos SK e como seu interesses podem ser atendido.
Stakeholders - preocupaes
financiamentoprojetodesenvolvimentotesteusomanuteno
Stakeholders e Arquitetura A elaborao da arquitetura tem como objetivos facilitar o cumprimento das responsabilidades e atender s necessidades dos stakeholders.
Lucia - A arquitetura do software desempenha tipicamente um papel chave como uma ponte entre requisitos e cdigo.
Stakeholders - necessidadesdesempenho segurana usabilidade viabilidade econmica
REQUISITOS DE SOFTWARE
Aquitetura e atributos de qualidade
Requisitos ATRIBUTOS DE QUALIDADE
A arquitetura descreve como alcanar os atributos de qualidade - voltados para os requisitos no funcionais - atravs das diversas decises arquiteturais. Obs: os atributos de qualidade, no entanto, envolvem aspectos arquiteturais e no arquiteturais
Atributos de QualidadeCustoReusabilidadeTestabilidadeManutenibilidadeLegibilidadeDesempenhoEscalabilidadeSeguranaConfiabilidade
Stakeholders e Atributos de QualidadeStakeholders influenciam na arquitetura de acordo com diferentes necessidades e responsabilidadesAcontecem conflitos de interessesArquiteto - resolver conflitosTodos devem ser informados das restries de interesses em relao aos outros.
STAKEHOLDERSREQUISITOSATRIBUTOS DE QUALIDADEARQUITETURAproporcionaestabelecematendem
Tipos de Stakeholders e seus interessesGerente de projetocronograma / custosalocao de recursos / terceirizao planos de contingncias -> funcionalpropsitos e restries gerais do sistemaaquisio de software / reuso interaes com outros sistemasaquisio de hardware
Vises / estilos
Diagrama de contexto de alto nvelUses (mdulo) ou Layer (mdulo)Decomposition (mdulo) ou Work Assignment (allocation)Deployment (allocation)Rationale e restries
Desenvolvedoridia geral do sistemaqual a sua parte no desenvolvimento e uma viso detalhada desta parteas interfaces cdigos disponveis para reusorestries (atributos de qualidade, sistemas legados, oramento, prazo etc)Tipos de Stakeholders e seus interessesVises / estilos
Generalization Diagrama ContextoLayer Rational / RestriesC&CMapping between viewsInterfacesImplementation
Testadores e integradoresespecificao de comportamento do elemento a ser testadodocumentao das interface do elemento guias de uso do elementoviso de uso do elemento para permitir um trabalho incrementalambiente adequado para testeTipos de Stakeholders e seus interessesVises / estilos
Vises / estilos
Generalization Diagrama contextoLayer Mapping between viewsUsesC&CInterfacesImplementation
Projetistas de outros sistemas
conjunto de operaes a serem providas e requeridas (interfaces)protocolos para as operaes de interfaces
Tipos de Stakeholders e seus interessesVises / estilos
Diagrama de contexto de alto nvelInterfaces
Mantenedoresmesmas informaes que o desenvolvedorviso que permita rastrear os elementos a serem alteradosviso que permita fazer uma anlise de impacto da alterao viso das decises de desenvolvimentoTipos de Stakeholders e seus interessesVises / estilos
Generalization Diagrama ContextoLayer InterfacesUses Rational /restriesDecompositionC&CMapping between views
1Product line application builder
guia de variabilidade do vrios elementosas mesmas informaes que o integrador1 aplicaes por linha de produto: um conjunto softwares compartilhando um conjunto de caractersticas que satisfazem as necessidades de um determinado segmento de mercadoTipos de Stakeholders e seus interessesVises / estilos
UsesLayer Diagrama ContextoC&C Mapping between viewsVariability GuidesInterfaces
O clientecronogramacustoscapacidade do sistema em atingir os atributos de qualidade e requerimentos funcionaisconhecimento do ambiente em que o sistema vai rodar, pois tem a responsabilidade de supri-lo interoperabilidade do sistema com os outros sistemas j existente no seu ambiente
Tipos de Stakeholders e seus interessesDeploymentWork AssignmentAnalysis resultsVises / estilos
Usurios Finais podem ter insights teis ao analisar a arquitetura no que se refere:
como as entradas do sistema so transformadas em sadascomo as funcionalidades esto alocadas s plataformas as quais os usurios vo manipularresultado de desempenho e anlises que lidam com confiabilidadeTipos de Stakeholders e seus interessesVises / estilos
C&C Pipe and FilterDeploymentAnalysis results
Analista (arquiteto / projetista)
avalio dos atributos de qualidade em relao s expectativas dos stakeholder:
Performance: Viso de Implantao, Especificao de Comportamento e Viso C&C que ajudam a controlar a execuo.
Exatido: Viso C&C mostra o fluxo de transformao dos dados e ajuda a identificar locais onde o calculo pode comprometer a preciso.
Modificabilidade: Viso de Decomposio ajuda na anlise de impacto. Viso de Usurio mostra as dependncias. Viso C&C e de Processos certificam que a mudana no trar um impasse
Tipos de Stakeholders e seus interesses
Analista (arquiteto / projetista)
avalio dos atributos de qualidade em relao s expectativas dos stakeholder:
Comportamento Correto: Analisa as especificaes de comportamento.
Segurana: Viso de Implantao mostra as conexes externas. Viso C&C mostra o fluxo de dados que controla por onde a informao passa. Viso de decomposio mostra onde autenticao e integridade so tratadas. Viso de Usurio mostra como os privilgios so transferidos.
Tipos de Stakeholders e seus interesses
Analista (arquiteto / projetista)
avalio dos atributos de qualidade em relao s expectativas dos stakeholder:
Disponibilidade: A viso C&C ajuda na anlise de Deadlock, sincronizao de dados e problemas de consistncia. A viso de Implantao usada para mostrar pontos de quebra.
Usabilidade: Viso de Decomposio permite anlise da informao. Ajuda na reutilizao de dados, atribuio de responsabilidades e operaes relacionadas com a usabilidade. Viso C&C permitir a anlise das possibilidades de cancelamento, de recuperao de falha, etc.
Tipos de Stakeholders e seus interesses
Analista (arquiteto / projetista)
efetuar o ATAM (Architecture Tradeoff Analysis Method) - negociar os conflitos de interesses entre os stakeholders
Tipos de Stakeholders e seus interesses
Sistema de Streaming de FilmesSimplificao do SASF.Realiza apenas a transmisso de filmes.Requisitos:Transmitir filmes somente a pessoas autorizadas.Impedir redistribuio de filmes pelos usurios.
Sistema de Streaming de FilmesUtiliza a Gesto de Direitos Digitais (GDD).Define o servidor de stream, o aplicativo cliente e o reprodutor de filmes para decodificar o video.Descartando o stakeholder Distribuidor de Filmes e a GDD:No precisa mais implementar reprodutor de filmes prprio.Melhora usabilidade (utilizao de qualquer reprodutor)
ConflitoPela GDD a autenticao do usurio dificulta assistir o filme. Ento temos Segurana X Usabilidade.
Pela GDD a decodificao do arquivo encriptado causa perda de desempenho. Ento temos Segurana X Desempenho
ConflitosDesempenho X Custo: usurios querem desempenho e gerentes menor custo.Desempenho X Escalabilidade: Demanda crescente de usurios causa perda de desempenho.Segurana X Usabilidade: Autenticao, Confidencialidade e auditabilidade geram mais passos para executar as mesmas aes.
Atendimento de RequisitosArquitetura deve atender requisitos impostos pelo sistema.No caso de aparelhos de software embarcados o requisito ter um bom desempenho.Desempenho e economia mais crtico que extensibilidade.O arquiteto no deve se deixar levar por modas de padres ou frameworks.
ConclusesConceito de stakeholders.Influncia desses stakeholders;Relao dos stakeholders e dos atributos de qualidade esperados pelo software.Relacionameto dos stakeholders entre si. Entender quem so os Stakeholders e suas neces-sidades de informao fundamental para a escolha das vises.
Referncias CLEMENTS, P. et al. Documenting Software Architectures, 2002.
GERMOGLIO, G. Arquitetura de Software, 2009.
Recommended Practice for Architectural Description of Software Intensive Systems, IEEE Std. 1471-2000