Arquitectura de Software
|
|
- Yan Assunção Fraga
- 6 Há anos
- Visualizações:
Transcrição
1 Arquitectura de Software Gedai Disciplina de Engenharia de Software Instituto Superior de Engenharia do Porto Alunos: André Serafim da Silva Nogueira no David Alexandre Guimarães Costa nº Filipe Duarte Neves da Costa nº Turma: C
2 Índice Índice...2 Introdução... 3 Arquitectura e o seu significado... 4 O que é arquitectura?... 4 O que é arquitectura de software?... 4 Porque é que a arquitectura é importante?... 4 Estilos arquitecturais... 5 Tipos de arquitectura de software... 5 Centrada em dados... 5 Fluxo de dados... 6 Chamada e retorno... 6 Orientadas a objectos... 7 Camadas... 7 Analises de alternativas ao projecto arquitectural... 8 Resumo Bibliografia
3 Introdução Desde o momento, em que os programas foram divididos em módulos, os sistemas de software passaram a ter arquitecturas e os programadores têm sido responsáveis pelas interacções entre os módulos e as propriedades globais da montagem. Historicamente as arquitecturas têm estado implícitas tanto nos acidentes de implementação como nos sistemas que foram herdados ao longo do tempo. A arquitectura de software e a sua representação tornaram-se temas dominantes em engenharia de software hoje em dia. 3
4 Arquitectura e o seu significado O que é arquitectura? Arquitectura é a maneira pela qual os vários componentes de algo (edifício, hardware, software, etc.) são integrados para formar um todo coeso. O modo como o produto se ajusta ao ambiente e se mistura com os outros produtos já existentes interligando-se a esses e estabelecendo padrões das mais diversas formas, está implícito no conceito de arquitectura, tal como o sentido estético do produto, o modo pelo qual texturas, cores, materiais, etc. são combinados para criar o produto final. O que é arquitectura de software? Arquitectura de software de um programa ou de um sistema computacional é a estrutura ou estruturas do sistema que abrange os componentes de software, as propriedades externamente visíveis e as relações entre elas. A representação que permite ao engenheiro de software analisar a efectividade do projecto, satisfazer os seus requisitos declarados, considerar alternativas arquitecturais num estado em que fazer modificações de projecto é ainda relativamente fácil e além disso reduzir os riscos associados com a construção do software, faz também parte integral da arquitectura de software que ajuda assim o analista / programador a estruturar as suas ideias. Uma peça de software pode ser dividida em componentes de software, que podem ser algo tão simples como módulos do programa, mas também podem tomar formas mais complexas como bases de dados. As propriedades dos componentes são aquelas características necessárias para o entendimento de como os componentes interagem entre si. As propriedades internas como por exemplo o código, não são especificadas. Existe também uma relação entre componentes que pode ser simples ou mais complexa. Porque é que a arquitectura é importante? A arquitectura é de elevada importância devido a: Representações de arquitecturas de software constituem um facilitador da comunicação entre todas as partes envolvidas no desenvolvimento de um sistema baseado em computadores; A arquitectura destaca decisões iniciais do projecto que vão ter um impacto profundo em todo o trabalho que se segue e de igual modo no sucesso final do sistema como uma entidade operacional; A arquitectura constitui um modelo relativamente pequeno, intelectualmente legível de como o sistema é estruturado e como os seus componentes trabalham em conjunto. 4
5 Estilos arquitecturais Todo o tipo de produto pode ser definido usando vários tipos de padrões/estilos e como tal também uma peça de software pode ser definida usando vários estilos. Cada estilo deve descrever: Uma categoria de sistemas que abrange; Um conjunto de componentes que realizam a função que é o requisito do sistema; Um conjunto de ligações que possibilita a comunicação entre os vários componentes; Restrições que definem como os componentes podem ser integrados para formar o sistema; Modelos que permitem ao projectista entender quais as propriedades gerais de cada sistema pela sua análise. Tipos de arquitectura de software Centrada em dados Um depósito de dados (base de dados) fica no centro dessa arquitectura e os outros componentes que a manipulam (adicionam, retiram, actualizam, ) têm acesso a esse depósito. A seguinte figura ilustra um estilo típico centrado nos dados, diversos software-clientes têm acesso a uma base de dados. Este tipo de arquitectura promove a integração, ou seja, componentes existentes podem ser modificados e novos componentes-clientes podem ser adicionados à arquitectura sem preocupação com os outros clientes, porque estes operam independentemente. 5
6 Fluxo de dados Esta arquitectura aplica-se quando os dados de entrada devem ser transformados, por meio de uma série de componentes em dados de saída. Na seguinte figura (figura a) é mostrado o padrão de tubo e filtro, que têm um conjunto de componentes chamados filtros que estão conectados por tubos que transportam dados de um componente para outro. Os filtros trabalham independentes uns dos outros, espera pela entrada de dados e depois actua como lhe é pedido para transformar a informação. Se o fluxo de dados se degenera numa única linha de transformação, é denominado sequencial por lotes. Como é demonstrado na seguinte figura (figura b). Este padrão recebe os dados e faz a sua transformação ao longo do percurso, todos os dados passam por todos os filtros neste padrão. Chamada e retorno Este estilo arquitectural permite ao projectista conseguir uma estrutura do programa que é fácil de modificar e ampliar. Existem vários sub-estilos nesta categoria, entre os quais: Arquitecturas de programa principal/subprogramas, esta estrutura clássica de programa decompõe a função numa hierarquia de controlo em que um programa principal invoca um certo número de componentes de programa, em que por sua vez invocam outros componentes; Arquitectura de chamada de procedimentos remotos, os componentes de uma arquitectura de programa principal/subprogramas são divididos entre os vários computadores de uma rede. 6
7 Orientadas a objectos Os componentes de um sistema encapsulam os dados e as operações que devem ser aplicadas para manipular dados. A comunicação e a coordenação entre os componentes são conseguidas por meio de passagem de mensagens. Camadas Esta estrutura está ilustrada na figura seguinte. Um certo número de camadas diferentes são definidas, cada uma realizando operações que se tornam progressivamente mais próximas do conjunto de instruções da máquina (computador). Na camada exterior os componentes operam com interface com o utilizador, na camada mais interna os componentes interagem com o sistema operativo. 7
8 Analises de alternativas ao projecto arquitectural Para procedermos à análise de alternativas à arquitectura do projecto, podemos seguir duas vias: por um lado, usando uma analise iterativa para avaliar os vários pontos do projecto; por outro lado, podemos usar uma análise pseudo-quantitativa para avaliar a qualidade do projecto. O Instituto de Engenharia de Software (SEI) desenvolveu o ATAM (Architecture tradeoff analysis method, também conhecido por KAZ98) que estabelece alguns pontos para a análise: 1. Reunir cenários O sistema, sobre a vista do utilizador, é representado através de use-cases. 2. Listar requisitos, restrições e descrição do ambiente Este tipo de informação, é usado para que se possa garantir que todas as preocupações do cliente foram consideradas. 3. Descrever os padrões/estilos arquitecturais escolhidos Estes estilos devem ser descritos, usando perspectivas arquitecturais a. Visão de módulo b. Visão de processo c. Visão de fluxo de dado 4. Avaliar os atributos de qualidade isoladamente Os atributos de qualidade devem de ser avaliados segundo a relevância que têm para o sistema. Tais, podem ser confiabilidade, desempenho, segurança, manutenibilidade, flexibilidade, testabilidade, portabilidade, reusabilidade e interoperabilidade. 5. Identificar a susceptibilidade de atributos de qualidade aos diversos atributos arquitecturais. Útil, para descobrir pontos sensíveis no arquitectura, fazendo para isso, pequenas modificações na arquitectura, determinado quão sensível é um dado atributo. 6. Criticar arquitecturas candidatas Uma vez determinados os pontos sensíveis arquitecturais, deve-se identificar os elementos para os quais múltiplos atributos são susceptíveis. Por exemplo, uma arquitectura cliente-servidor, pode ser muito dependente do número de servidores. O desempenho pode melhorar com o aumento do número de servidores, mas a segurança pode piorar, uma vez que passam a existir mais pontos de ataque. Através deste método, podemos eliminar algumas arquitecturas que poderiam ser alternativas, assim como se pode alterar e representar as restantes com mais detalhe, aplicando-se outra vez os passos ATAM. Embora este método nos ajude muito na análise do projecto, trata-se dum método qualitativo, o que não nos permite uma análise quantitativa. Para isto, podemos usar algumas técnicas (conhecidas por ASA96) que podem complementar a abordagem ATAM. Estas técnicas ajudam o projectista a determinar se determinada arquitectura satisfaz determinados critérios previamente definidos, tais como a segurança, o desempenho, a flexibilidade, entre outros. Numa primeira fase, procede-se ao lançamento de dois casos para o projecto: o melhor e o pior caso (sendo que este deve poder ser aplicado ao problema, ainda que não seja a solução adequada), aos quais são atribuídas as notas máximas e mínimas (Sb e Sw respectivamente). De seguida, procede-se á soma das notas atribuídas a cada atributo do projecto proposto, ao qual se designa por S. 8
9 É então calculado o grau (Is) em que uma arquitectura se encontra próxima de um sistema óptimo, dentro dos limites propostos por Sw e Sb: Is=[(S-Sw)/(Sb-Sw)]*100 Se mais tarde forem feitas modificações ao projecto, uma forma de comparar se este foi melhorado ou não é comparar o resultado das suas análises através de um índice de melhoria (Imp): Imp=Is2-Is1 No caso deste ser positivo, significa que o sistema 2 foi melhorado em relação ao sistema 1. Procedemos então à análise de selecção de projecto. Esta permite-nos avaliar até que ponto o número de critérios alcançados pelo nosso projecto (Ns) se aproximam do número de critérios propostos pelo projecto ideal (Na). Este índice de selecção (D), pode ser calculado da seguinte forma: D=(Ns/Na)*100 Por fim, procedemos a uma analise de contribuição, na qual podemos identificar a razão de certo conjunto de opções ter uma nota mais baixa do que outro. Usando o QFD (Quality Function Deployment) é conduzido uma analise para determinar a prioridade relativa dos requisitos determinados á quando a descoberta de funções, informações e tarefas. É então identificado um conjunto de características arquitecturais, o qual é listado juntamente com os requisitos do cliente numa matriz de referências cruzadas. Cada célula da matriz representa a força da relação, numa escala de 1 a 10. A isto, também se pode designar de QDS (Quantified Design Space), que é fácil de ser implementado e pode ser usado para isolar e descobrir o porque de um conjunto de opções de projecto obter menor nota do que outro. Também podemos proceder à avaliação da complexidade global da arquitectura, usando uma técnica designada por ZHA98. Esta, sugere 3 tipos de dependências entre os componentes dentro da arquitectura: Dependências de compartilhamento representam as relações de dependência entre consumidores que utilizam o mesmo recurso. Para dois componentes U e V, se U e V referirem-se aos mesmos dados globais, então existe uma relação de dependência deste tipo. Dependências de fluxo representam as relações de dependência entre produtores e consumidores de recursos. Para dois componentes U e V, se U tiver que ser completado para que se possa executar V ou se U utilizar V parâmetros, então existe uma relação de dependência de fluxo. Dependências de restrição representam as restrições no fluxo relativo de controle, entre um dado conjunto de actividades. Para dois componentes U e V, se U e V não poderem ser executados ao mesmo tempo (exclusão mutua) então existe uma relação deste tipo. 9
10 Resumo A arquitectura de software fornece uma visão abstracta do sistema a ser construído mostrando a estrutura organizacional dos componentes, as propriedades vitais e as conexões entre estes componentes, representando essencialmente os fluxos de dados existentes ao longo da execução da aplicação. Esta arquitectura torna-se assim num conjunto de métodos que visam a estruturação da aplicação para que dessa forma sejam pensados os detalhes essenciais desta, os seus blocos e fluxos de transferência de maneira a que todas as dúvidas deste estejam previamente esclarecidas, antes que se torne demasiado tarde e que se torne dispendiosa a sua alteração. Da mesma forma que visa prever problemas futuros problemas, é também um modo de se desenhar possíveis formas que o projecto poderá levar e dessa forma escolher a melhor e mais económica. Existem vários estilos arquitecturais que poderão ser utilizados conforme as necessidades da especificação do projecto. O modelo orientado a objectos por exemplo, será melhor aplicado numa aplicação que implemente este tipo de sistema no seu núcleo principal, enquanto que o modelo centrado em dados é óptimo para descrever sistemas com vários módulos que acedem a uma base de dados e fazem cada qual uma determinada tarefa. Bibliografia Pressman R., Engenharia de Software, 5ª edição, MCGraw-Hill 10
Arquitetura de Software. Fatec ES III - Prof. Dinis 1
Fatec ES III - Prof. Dinis 1 Segundo Shaw e Garlan Desde quando o primeiro programa foi dividido em módulos, os sistemas de software passaram a ter arquiteturas, e os programadores têm sido responsáveis
Leia maisArquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and
Leia maisUniversidade Federal de Goiás Estilos Arquiteturais
Universidade Federal de Goiás Estilos Arquiteturais Prof. Helder Brito Nascimento Instituto de Informática helderbn@gmail.com O que é um estilo de arquitetura Como você diferencia uma construção da outra?
Leia maisDesenho de Software. Sumário
(QJHQKDULDGD3URJUDPDomR Desenho de Software Carla Ferreira Carla.Ferreira@dei.ist.utl.pt Sumário Objectivos Problemas Qualidades Técnicas Avaliação e Validação Casos Notáveis Exemplo Conclusões Desenho
Leia maisManutenção Leitura: Sommerville; Pressman
Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele
Leia maisDefinição. Arquitecturas de Software. Modelo de Referência. Estilo Arquitectural. Arquitecturas de Software
Arquitecturas de Software Arquitecturas de Software António Rito Silva Rito.Silva@inesc-id.pt Definição A arquitectura de software de um programa ou sistema computacional é a estrutura ou estruturas do
Leia maisEngenharia da Programação
Engenharia da Programação LEIC 4º ano, 1º Semestre, ano lectivo de 2002-03 2º Exame (o exame é composto por 10 perguntas (1-10) cotadas com 1 valor cada) Data: 8 de Fevereiro de 2003 Duração Exame: 1h30
Leia maisModelos de design arquitetural
Modelos de design arquitetural Jair C Leite Modelos de design arquitetural Objetivo Guiar o arquiteto nas etapas para desenhar a arquitetura Deve considerar diferentes visões arquiteturais Atualmente existem
Leia maisManutenção de Software
Manutenção de Software Engenharia de Software Rosana Braga (material produzidos por docentes do Labes-ICMC/USP) Manutenção do software O propósito do processo manutenção do sistema e software é modificar
Leia mais2. Modelos de Desenvolvimento de Software
2. Modelos de Desenvolvimento de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Ciclo de Vida do Software Um sistema de software é desenvolvido gradualmente
Leia maisPadrões. Arquitetura de Software Thaís Batista
Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam
Leia maisExemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros
Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros
Leia maisIntrodução ao RUP Rational Unified Process
Introdução ao RUP Rational Unified Process UML Diagramas de Classes v.1.1, João Pascoal Faria, 2001 1 O que é Um processo (de engenharia) de software é a definição de um conjunto completo de actividades
Leia maisLeitura: Cap : Sommerville; cap20: Pressman
Leitura: Cap26-27 - 28: Sommerville; cap20: Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1/47 Manutenção de software É modificar um programa depois que
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisDiagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência
Diagramas Os diagramas utilizados pela UML são compostos de nove tipos: diagrama de use case, de classes, de objecto, de estado, de sequência, de colaboração, de actividade, de componente e o de instalação/execução.
Leia mais4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos
Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia maisTécnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
Leia maisEngenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Leia maisVisões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Leia maisProcesso de Desenvolvimento. Edjandir Corrêa Costa
Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem
Leia maisREENGENHARIA E ENGENHARIA REVERSA
REENGENHARIA E ENGENHARIA REVERSA Manutenção de Software Profa. Cynthia Pinheiro Definição: É o exame, análise e/ou reestruturação de um sistema de software para reconstruí-lo em uma nova forma. Objetivos:
Leia maisArquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SCE 526 Análise e Projeto Orientados a Objeo Profa. Elisa Yumi Nakagawa 2. Semestre de 2013
Leia maisProjeto de Arquitetura
Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto
Leia mais2
ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina
Leia maisFunção Fundamental do SO
Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a
Leia maisEngenharia de Software
Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e
Leia maisArquitetura de Software Parte 3/3 Architecture Business Cycle. Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 3/3 Architecture Business Cycle Jorge H. C. Fernandes Junho de 1999 Arquiteturas e Desenvolvimento de Software Processo de Software Baseado em Arquitetura: Etapas 1 - Criando
Leia maisEstilo: BlackBoard. BlackBoard = repositório de dados compartilhados
Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários
Leia maisDesenho. Indice. 1. Introdução. 2. Definição da Arquitectura. 3. Interfaces e desenho da Arquitectura
Desenho Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/2006 EST, Setúbal Indice 1. Introdução 2. Definição da Arquitectura 3. s e desenho da Arquitectura Engenharia de Software
Leia maisArquitecturas de Software Enunciado de Projecto 2007 2008
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras
Leia maisResumo parcial da Tese de Doutorado. Um modelo de Sistema de Gestão do Conhecimento para grupos de pesquisa e desenvolvimento.
Universidade Federal de Santa Catarina Centro Tecnológico Disciplina: PROJETOS I Aluno: Cleosvaldo G. Vieira Jr cgvjr@inf.ufsc.br Resumo parcial da Tese de Doutorado Um modelo de Sistema de Gestão do Conhecimento
Leia maisCapítulo 5 Modelação do Sistema 1
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos
Leia maisRequisitos de Sistemas
Requisitos de Sistemas Unidade I - Engenharia de Requisitos Definição de Requisitos Tipos de Requisitos Processos de Engenharia de Requisitos - Levantamento ou elicitação 1 Processo de software Engenharia
Leia maisCONCEITOS DE PROJETOS - 2. Profa. Reane Franco Goulart
1 CONCEITOS DE PROJETOS - 2 Profa. Reane Franco Goulart MODULARIDADE A arquitetura do software incorpora a modularidade, isto é, o software é dividido em componentes nomeados separadamente e endereçáveis,
Leia maisMetodologia Simplified. António Rocha
Metodologia Simplified António Rocha - 2003 Metodologias As empresas precisam de uma metodologia simples e eficaz para realizarem o seu primeiro projecto OO Uma metodologia tem mais probabilidades de ser
Leia mais1. Conceitos Básicos de Sistemas de Informação
Administração de Sistemas de Informação 2 1. Conceitos Básicos de Sistemas de Informação A importância dos Sistemas de Informação Entender a administração e o uso responsável e eficaz dos sistemas de informação
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisQualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa
Qualidade de : Visão Geral Engenharia de Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2017 Qualidade de Qualidade é um termo que pode ter diferentes interpretações. Existem muitas definições de qualidade
Leia maisEngenharia de Software 2006/2007
Instituto Superior Técnico Engenharia de Software 2006/2007 Segundo Teste (perguntas 5-10, 70 minutos) Primeiro Exame (perguntas 1-10, 120 minutos) 29/6/2007 Nome: Número: Escreva o seu número em todas
Leia maisEngenharia de Software
Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação
Leia maisFATORES E MÉTRICAS DE QUALIDADE
FATORES E MÉTRICAS DE QUALIDADE 1 2 FATORES DE QUALIDADE OPERAÇÃO DO PRODUTO CORRETITUDE (FAZ O QUE EU QUERO?) CONFIABILIDADE (SE COMPORTA COM PRECISÃO?) EFICIÊNCIA (RODARÁ TÃO BEM QUANTO POSSÍVEL?) INTEGRIDADE
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: QUALIDADE DE SOFTWARE Tema: Teste de Software:
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 6. THREAD: 6.1 Introdução; 6.2 Ambiente Monothread; 6.3 Ambiente Multithread; 6.4 Arquitetura
Leia maisCiclo de Vida de Sistemas de Informação
Ciclo de Vida de Sistemas de Informação PROCESSO DE DESEN. DE SIs Todo desenvolvimetno de SI pode ser caracterizado como um ciclo de solução de problema. Definição do Problema Situação atual Desenvolvimento
Leia maisManutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Leia maisArquitetura de Software: Introdução
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo
Leia maisEngenharia de Software
Introdução Engenharia de Software O principal objetivo da Engenharia de Software (ES) é ajudar a produzir software de qualidade; QUALIDADE DE SOFTWARE Empresas que desenvolvem software de qualidade são
Leia maisAula 12. Aquisição de Hardware
Aula 12 Tecnologias de informação para construção de sistemas de informação. Sistemas de Informação TADS 4. Semestre Prof. André Luís 1 2 Implantação de Sistemas Assim que o sistema de informação tiver
Leia maisManutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Leia maisAula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas
Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br Nome da disciplina:
Leia maisUnidade 1 Introdução à Análise de Sistemas. Objectivos
Unidade 1 Introdução à Análise de Sistemas Objectivos 1 2 Objectivos Definir a análise de sistemas Reconhecer as funções do analista de sistemas Definir conceitos de sistema Reconhecer a finalidade do
Leia maisCONCEITOS BÁSICOS E MODELO DE PROJETO
CONCEITOS BÁSICOS E MODELO DE PROJETO Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Na aula passada... Abstração Arquitetura Padrões de Projeto Separação por interesses (por afinidades) Modularidade
Leia maisDocumento de Requisitos*
* Rosana T. Vaccare Braga *slides adaptados a partir do material da Profa Ellen Francine Barbosa Processo de Engenharia de Requisitos Documento de requisitos Processo de Engenharia de Requisitos Estudo
Leia maisEstilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Leia maisArquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas
Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento
Leia mais5 Processo de Reificação e de Desenvolvimento com ACCA
Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes
Leia maisSistemas de Informação
Sistemas de Informação Escola Superior de Tecnologia e Gestão de Felgueiras Engenharia Informática 3º ano - 2003/2004 Ana Maria Madureira Informação Informação informatióne conjunto de dados em princípio
Leia maisENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Teste de Software Verificação e validação Testes de desenvolvimento Testes de release Testes de usuário Desenvolvimento dirigido a testes Kele Teixeira Belloze kelebelloze@gmail.com
Leia maisProf. Emiliano S. Monteiro
Prof. Emiliano S. Monteiro O que é qualidade? Existem diversas definições... 1. Qualidade é estar em conformidade com os requisitos dos clientes 2. Qualidade é antecipar e satisfazer os desejos dos clientes
Leia maisLIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES
LIVRO ENGENHARIA FUNDAMENTOS, MÉTODOS E PADRÕES WILSON PADUA PAULA FILHO CAPÍTULO REQUISITOS 1 REQUISITOS TECNICO E GERENCIAL ESCOPO (RASCUNHO) CARACTERISTICAS 2 O que são Requisitos? São objetivos ou
Leia mais2 O Modelo: SetModel. 2.1 Modelo de Informação
O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser
Leia maisQualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa
Qualidade de : Visão Geral SSC 121-Engenharia de 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Qualidade de Qualidade é um termo que pode ter diferentes interpretações Existem muitas definições
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisDefinição. Análise de sistemas de informação. Classificação. Sistemas Abertos
Análise de sistemas de informação Definição É o processo de estudo de uma organização que se procura realizar o levantamento exaustivo de como funciona e desta forma descrever os processos de resolução
Leia mais3. Engenharia dos requisitos de software
Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne
Leia maisIntrodução a Orientação a Objetos
Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter
Leia maisRui Carneiro, Rui Pereira, Tiago Orfão
Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt
Leia maisISO/IEC Prof. Alexandre Luís Franco
ISO/IEC 9126 Prof. Alexandre Luís Franco ISO/IEC 9126 Contém as seguintes partes, sobre o título genérico de Engenharia de Software Qualidade do Produto Parte 1 Modelo de Qualidade Parte 2 Métricas Externas
Leia mais3 Medição de Software
3 Medição de Software À medida que a engenharia de software amadurece, a medição de software passa a desempenhar um papel cada vez mais importante no entendimento e controle das práticas e produtos do
Leia maisUFCD 0781 Análise de Sistemas de Informação. Formadora: Sónia Rodrigues. Conteúdos. Conteúdos. Conteúdos. Conteúdos. Objectivos da UFCD:
UFCD 0781 Análise de Sistemas de Informação Objectivos da UFCD: Reconhecer e utilizar as diferentes metodologias de análise de sistemas de informação, no âmbito do processo de informatização de uma organização.
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 O desenvolvimento de software envolve usuários, clientes e desenvolvedores. Avalie as seguintes afirmações
Leia maisCadeira: Engenharia de Software
Cadeira: Engenharia de Software Aulas 9, 10 15/08/15 Docente: Cláudia Ivete F. Jovo cifjovo@gmail.com or cjovo@up.ac.mz M.Sc. Cláudia Jovo 2017/DI 0 Definição de Eng. Software; Eng. Software Tecnologia
Leia maisPROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Leia mais27/08/2013. Aula 05 Análise Estruturada de Sistemas
Aula 05 Análise Estruturada de Sistemas A maior parte do trabalho do analista de sistema está baseada na construção de modelagem dos sistemas, ou seja, representar de forma gráfica aquilo que o usuário
Leia maisAula 2 POO 1 Introdução. Profa. Elaine Faria UFU
Aula 2 POO 1 Introdução Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisAULA 01: APRESENTAÇÃO
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 01: APRESENTAÇÃO Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS OS OBJETIVOS DESSA DISCIPLINA?
Leia maisO Processo Unificado: Workflow de Análise. Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009
O Processo Unificado: Workflow de Análise Graduação em Informática Profa. Dra. Itana Maria de Souza Gimenes 2009 Workflow de Análise Objetivos da análise: manter uma especificação precisa dos requisitos
Leia mais3. análise e negociação de requisitos
3. documento de requisitos identificação, descoberta de requisitos análise e negociação de requisitos documentação de requisitos problemas, necessidades, oportunidades,... validação dos requisitos 2 objectivos
Leia maisArquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Leia maisAnálise de Sistemas 4º Bimestre (material 3)
Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam
Leia maisAnálise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Leia mais4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.
Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas
Leia maisSistemas Operacionais
Apresentação Introdução Aula 0 INF042 Plano de ensino conforme resolução CEPE /203 Prof. Alexandre CARISSIMI (asc at inf.ufrgs.br) Turma A Objetivos da disciplina Prof. Sérgio CECHIN (cechin at inf.ufrgs.br)
Leia maisIntrodução às Bases de Dados
O Sistema de Base de Dados através do SGBD permite controlar de forma centralizada os dados armazenados. Base de Dados Ficheiro 1 Ficheiro 2 Ficheiro 3 Sistema de Gestão de Bases de Dados (SGBD) Prog.1
Leia maisIntrodução à Interface Pessoa-Máquina
Instituto Superior Politécnico de Ciências e Tecnologia Introdução à Interface Pessoa-Máquina Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 SUMÁRIO Capítulo V METODOLOGIAS DE DESENVOLVIMENTO DE
Leia mais3 Ferramenta Proposta 3.1. Objetivos
3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve
Leia maisAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2012 Paradigmas e Processo de Software Engenharia de Software: Abrangência Engenharia de Software possui
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Para Sommerville a arquitetura de sistemas descreve o sistema em termos de um conjunto de unidades
Leia maisFábio Amado João Maio 33306
Fábio Amado 33637 João Maio 33306 Universidade de Aveiro Especificação, Modelação e Projecto de Sistemas Embutidos 21-11-2009 1. UML - o que é? 2. A Natureza dos Sistemas Embutidos 1. Heterogeneidade 2.
Leia maisNormalização de dados
1 Normalização de dados Vantagens da normalização A normalização permite: Agrupar os atributos de uma entidade de forma a reduzir o número de dependências funcionais existentes entre os dados numa base
Leia maisARQUITETURA DE SOFTWARE
ARQUITETURA DE SOFTWARE Em seu livro, que constitui um referencial sobre o assunto, Shaw e Garlan discutem arquitetura de software da seguinte maneira: Desde quando o primeiro programa foi dividido em
Leia maisExercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída
Nome: Exercícios de Sistemas Operacionais 3 B (1) Gerência de Dispositivos de Entrada e Saída 1. A gerência de dispositivos de entrada e saída é uma das principais e mais complexas funções de um sistema
Leia maisGerência de Dispositivos. Adão de Melo Neto
Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Gerência de Dispositivos Dispositivos de E/S Device Drivers Controladores Subsistema de E/S 2 Gerência de Dispositivos A gerência de
Leia maisConceitos de Programação Orientada por Objectos. Rui Camacho Programação 2
Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas
Leia maisAVALIAÇÃO DE PRODUTOS DE SOFTWARE
AVALIAÇÃO DE PRODUTOS DE SOFTWARE SSC-546 Avaliação de Sistemas Computacionais Profa. Rosana Braga (material profas Rosely Sanches e Ellen F. Barbosa) Qualidade de Produto de Software Modelo de Qualidade
Leia mais