Projeto de arquitetura
|
|
- Ágatha Angelim Antas
- 6 Há anos
- Visualizações:
Transcrição
1 é A; J, ~~8EmlEtiQM~.::.J~ [ V. '~A~(r~~Q Projeto de arquitetura é
2 "r:~ ~ A arquitetura de um ;-stema de controle robotizado de empacotamento,-í~ Na prática existe uma considerável sobreposição entre os processos de engenharia de requisitos e de projet~ d: arquitetura.ld~almente, uma especificação de sistema não deve incluir todas as inf~rmações do projeto. Mas essa naoe a realidade, exceto para sistemas muito pequenos. A decomposição de arquitetura e normalmente ~ecessana para estnjturar e organizar a especificação. Portanto, como parte do processo de enge~haria de requisitos, voce podera propor uma ar uitetura abstrata de sistema em que seja possível associar grupos de funçoes ou recursos do sistema aos componentes e~ larga escala ou subsistemas. Você pode, então, usar essa decomposição para discutir com os os requisitos e recursos do sistema.. Você pode projetar as arquiteturas de software em dois níveis de abstração, o que eu chamo de 1. A arquitetura em pequena escala preocupada com a arquitetura de programas IndiViduaiS. Ness: nlvel, :st~ mos preocupados com a maneira como um programa individual é decomposto em componentes. ste capltuo mais preocupado com as arquiteturas de programas.. A arquitetura em grande escala preocupa-se com a arquitetura de sistemas corporativos.complexos que in~ue: outros sistemas, programas e componentes de programas. Essessistemas empresanals estao dlstnbuldos por r~~~"e sos computadores, que podem pertencer e ser geridos por diferentes empresas. E~ trato da arquitetura em g escala nos capitulos e nos quais discuto os sistemas de arquiteturas dlstnbuldas....' A arquitetura de software é importante, pois afeta o desempenho e a robustez, bem como a capacidade de d:stnb~~~a; e de manutenibilidade de um sistema (BOSCH, 2000). Como discute Bosch, os componentes IndiViduaiS '~P m~ os requisitos funcionais do sistema. Os requisitos não funcionais dependem da arquitetura d~ slsftema ~rma c~1l1 esses componentes estão organizados e se comunicam. Em muitos sistemas, os requisitos nao unclo~als sao ta~ante:-." innuenciados por componentes individuais, mas não há dúvida de que a arquitetura de sistema e a influencia dom Bass et aí (2003) discutem três vantagens de projetar e documentar, explicitamente, a arquitetura de software: _ stakeholders. A arquitetura é uma apresentação de alto nível do sistema e pode ser usada corno um foco de discussão por uma sene de diferentes. '.... I d seu desenvolvimento requer Tornar explicita a arquitetura do slste~a, em um estagio IniCia e 'b'lid d de o 'sistema alguma análise. As decisões de projeto de arquitetura tem um efeito profundo sobre POSSI I a e atender ou não aos requisitos críticos, como desempenho, confiabilidade e manutenlbilldade.., de 3. Um modelo de uma arquitetura d' e sistema e 'a um descrição compacta. e gerenclave I nte como um sistema é organizado e como os componentes interoperam. A arquitetura do sistema gera mdeesca!a. mesma para sistemas com requisitos.. semelhantes e, por ISSO,po. d e apoiar o reúso de software em gran Capitulo Projeto de arquitetura Como explico no Capitulo 16, talvez seja possível desenvolver arquiteturas de linha de produto nas quais a mesma arquitetura é reusada em todo um conjunto de sistemas relacionados. Hofmeister et aí (2000) propõem uma arquitetura de software que pode servir, em primeiro lugar, como um plano de projeto para a negociação de requisitos de sistema, e, em segundo lugar, como um meio de estruturar as discussões com osclientes, desenvolvedores e gerentes. Eles também sugerem que seja uma ferramenta essencial para o gerenciamento dacomplexidade, pois esconde detalhes e permite que os projetistas se centrem nas abstrações'chave do sistema. Emgeral, as arquiteturas de sistema são modeladas por meio de diagramas de blocos simples, como na Figura No diagrama, cada caixa representa um componente. Caixas dentro de caixas indicam que o componente foi decomposto em subcomponentes. As setas significam que os dados e/ou sinais de controle são passados de um componente a outro nadireção das setas. Você pode ver muitos exemplos desse tipo de modelo de arquitetura no catálogo de arquitetura de softwarede Booch (BOOCH, 2009). Os diagramas de blocos apresentam uma imagem de alto nível da estrutura do sistema, de forma que as pessoas de diferentes disciplinas, envolvidas no processo de desenvolvimento do sistema, possam compreender facilmente. No entanto, apesar de seu amplo uso, Bass et aí (2003) não gostam de diagramas de blocos informais para descrever uma arquitetura. Elesalegam que esses diagramas informais são pobres representações de arquitetura, que não mostram o tipo de relacionamentos entre os componentes do sistema nem as propriedades dos componentes visíveis externamente. A aparente contradição entre a prática e a teoria de arquitetura surge porque existem duas maneiras de usar um modelode arquitetura de um programa: o Uma visão de arquitetura de um sistema de alto nível é útil para a comunicação com os do sistema e para o planejamento do projeto, pois não é rica em detalhes. Os podem relacionar e entender uma visão abstrata do sistema e, então, discutir o sistema como um todo, sem se confundirem com detalhes. O modelo de arquitetura identifica os principais componentes que devem ser desenvolvidos para que os gerentes possam começar a designar pessoas para planejarem o desenvolvimento desses sistemas. 2. O objetivo é produzir um modelo completo de sistema que mostre seus diferentes componentes, suas interfaces e conexões. O argumento para isso é que essa descrição detalhada da arquitetura facilita a compreensão e o desenvolvimento do sistema. Diagramas de bloco são uma forma adequada de, durante o processo de projeto, descrever a arquitetura do sistema; também são uma boa maneira de apoiar a comunicação entre as pessoas envolvidas no processo. Em muitos projetos, eles sãoaúnica documentação de arquitetura que existe. No entanto, se a arquitetura de um sistema deve ser bem documentada, melhor usar uma notação com semântica bem definida para a descrição de arquitetura. Contudo, como discuto na Seção6.2,algumas pessoas pensam que a documentação detalhada não é útil e não vale o custo de seu desenvolvimento. O projeto de arquitetura é um processo criativo no qual você projeta uma organização de sistema para satisfazer aos requisitos funcionais e não funcionais de um sistema. Por ser um processo criativo, as atividades no âmbito do processo dependem do tipo de sistema a ser desenvolvido, a formação e experiência do arquiteto de sistema e os requisitos especificos para o sistema. Por isso, é útil pensar em projeto de arquitetura como uma série de decisões, em vez de uma sequência de atividades. Durante o processo de projeto de arquitetura, os arquitetos de sistema precisam tomar uma série de decisões estruturais que afetam profundamente o sistema e seu processo de desenvolvimento. Com base em seus conhecimentos e experiência, eles precisam considerar as seguintes questões fundamentais sobre o sistema: 1. Existe uma arquitetura genérica de aplicação que pode atuar como um modelo para o sistema que está sendo projetado? 2. Como o sistema será distribuido por meio de um número de núcleos ou processadores? 3. Que padrões ou estilos de arquitetura podem ser usados? 4. Qual será a abordagem fundamental para se estruturar o sistema? 5. Como os componentes estruturais do sistema serão decompostos em subcomponentes? 6. Que estratégia será usada para controlar o funcionamento dos componentes do sistema?
3 5. Manutenção. 4, Disponibilidade. 3. Segurança. 2. Proteção. 1. Desempenho. run-time, i- stakeholders. + run-time 107
4 1 f de estado Notifica visão de modelo de estado
5 .J: A;:'- -_.~~. de direitos -
6 m~p'j~~ll 1',' Capítulo
7 é Engenharia de software é Internet é Web ~ Clienle4 UillCO ). 6J..,1.,'~..
8 1. S. J, 9~ ~ Capítulo
9 , A arquitetura de software de um sistema de ATM Arquitetura de sistema de informação em camadas ~Cofnuni.caç~e~ Au.tentk.~ção~ geda.do.~ gér~nçiament? tr?n~~çõe-s -,-'-~ " :~ A arquitetura do MHC-PMS.dá papel de dados fj~ri~o 3. A terceira camada deane a funcionalidade do sistema e fornece compónentes que impdlemdendtamdapr~~~~~~~. :~' sistema, criação e atualização de informações de pacientes, importação e exportação os a os e p. -.,.' partir de outros bancos de dados, além dos geradores de relatório que criam relatórios de gerenciamento. Capítulo 6 Projeto de arquitetura Finalmente, a camada mais baixa, construída usando um sistema de gerenciamento de banco de dados comerciai, fornece gerenciamento de transações e repósitório persistente de dados. Normalmente, sistemas de informação e de gerenciamento de recursos são baseados na Web, nos quais as interfaces de usuário são implementadas usando-se um Por exemplo, sistemas de comércio eletrõnico são sistemas de gerenciamento de recursos baseados na Internet que aceitam pedidos eletrõnicos de bens ou serviços e, em seguida, providenciam a entrega desses bens ou serviços ao cliente. Em um sistema de comércio eletrõnico, a camada especifica de aplicação inclui funcionalidade adicional que apoia um 'carrinho de compras: no qual os usuários podem colocar uma série de itens em transações separadas, e em seguida, pagar por todos juntos em uma única transação. Nesses sistemas, a organização dos servidores geralmente refiete o modelo genérico de quatro camadas apresentado na Figura 6.11, Esses sistemas são frequentemente implementados como arquiteturas/cliente/servidor multicamadas, conforme discutido no Capítulo O servidorweb é responsável por todas as comunicações de usuário, com a interface de usuário implementada usando um 2. O servidor de aplicações é responsável por implementar a lógica especiaca de aplicação, bem como o repositório de informações e pedidos de recuperação; 3. O servidor do banco de dados move as informações para e a partir do banco de dados, e lida com o gerenciamento de transações. Usar vários servidores permite que se tenha alto desempenho e faz com que seja possivellidar com centenas de transações por minuto. medida que a demanda aumenta, os servidores podem ser adicionados em cada nível para lidar com o processamento extra envolvido. Os sistemas de processamento de linguagens traduzem uma linguagem natural ou artificial em outra representação dessa linguagem. Para linguagens de programação, também podem executar o código resultante. Em engenharia de software, compiladores traduzem uma linguagem artificial de programação em código de máquina. Outros sistemas de processamento de linguagens podem traduzir uma descrição XML de dados em comandos, para consultar um banco de dados ou uma representação XML alternativa. Sistemas de processamento da linguagem natural podem traduzir uma linguagem natural para outra, por exemplo, o francês para o norueguês. Na Figura 6.13, é ilustrada uma possível arquitetura para um sistema de processamento de linguagem para uma linguagem de programação. As instruções da linguagem-fonte definem o programa a ser executado, e um tradutor converte as instruções para uma máquina abstrata. Essasinstruções são, então, interpretadas por outro A arquitetura de um sistema de processamento de linguagem
10 Capitulo 6 PrOjetode arquitetura d ( ') d d d b com,ponente, que usca as Instruçoes para a exe~uçao e asexe.cuta usan o se necessario os a os o am lente 6.f5 liu-;:;m:;;a;-a~r:;:q~u:;;lt::e~tu-;;r~a-"d;;:e:-:r:;::e=o~sl:to;" r~lo:-::=-ar:::a--:u=--:-:-:-:----; A salda do processo e o resultado da Interpretaçao das Instruçoes sobre os dados de entrada.. p p m sistema de processamento de linguagem Claro que, para muitos compiladores, o interpretador é uma unidade de hardware que processa as instruções'~'k ' ~ de máquina, e a máquina abstrata é um processador real. No entanto, para linguagens tipadas dinamicamente,' ". como Python, o interpretador pode ser um componente de software. ". ~ Os compiladores de linguagem de programação que são parte de um ambiente de programação mais geral ~ têm uma arquitetura genérica (Figura que inclui os seguintes componentes:. : Um analisador léxico, que toma os da linguagem de entrada e os converte em um formato interno. :; ~';c Uma tabela de simbolos, que contém informações sobre os nomes das entidades (variáveis, nomes de classes, nomes de objetos etc) usadas no texto que está sendo traduzido.' Um analisador sintático, que verifica a sintaxe dá linguagem a ser traduzida. Ele usa uma gramática definida da' ~.~,~.: ( Editor '.. linguagem e constrói uma árvore de sintaxe. ' ~'. Uma árvore de sintaxe, que é uma estrutura interna que representa o programa a ser compilado.., ":'~.' ~'. Um analisador semãntico, que usa informações da árvore de sintaxe e a tabela de sim bolos para verificar'a. ~i' ;.../. correção semãntica do texto na linguagem de entrada. ~: Um gerador de código que 'anda' na árvore de sintaxe e gera códigos de máquina abstrata.,:. -~,~ i Também podem ser incluidos outros componentes que analisam e transformam a árvore de sintaxe para me.. Ihorar a eficiéncia e eliminar a redundãncia do código de máquina gerado. Em outros tipos de sistema de pro.. cessamento de linguagem, como um tradutor de linguagem natural, haverá componentes adicionais, como um.. dicionário, e o código gerado é a entrada de texto traduzido para outra iinguagem.,.,:r;.,. Existem padrões de arquitetura alternativos que podem ser usados em um sistema de processamento da lií'k~;'~"..' guagem (GARLAN e SHAW, Os compiladores podem ser implementados usando um composto de um re:.;- positório e um modelo de duto e filtro. Em uma arquitetura de compilador, a tabela de sim bolos é um repositó~i.a.. :~:;" de dados compartilhados. As fases da análise léxica, sintática e,semãntica estãoorganizadas em sequência, como mostra a Figura e comunlcam.se por meio da tabela de sim bolos compartilhados... Esse modelo de duto e filtro de compilação de linguagem é eficaz em ambientes em lotes nos quais os pr(}-}". gramas são compilados e executados sem interação do us~ário - por exemplo, na tradução de um documerit,q"i: XML para outro. lomenos efetivo quando um compilador e Integrado com outras ferramentas de processamento.';.,;" de linguagem, como um sistema de edição estruturado, um depurador interativo ou um (formatad,91:. de impressão) de programa. Nessa situação, as mudanças de um componente precisam refletir imediatamenteertt:]- ~ outros componentes. Portanto, é melhor organizar o sistema em torno de um repositório, como se vê na Figura 6.\5.'.],. Essafigura ilustra como um sistema de processamento de linguagem pode ser parte de um conjunto integra.:.. do de ferramentas de apoio à programação. Nesse exemplo, a tabela de símbolos e a árvore de sintaxe funcionam :.' como um repositório central de informações. Ferramentas ou fragmentos de ferramentas comunicam-se por meio '..:' dele. Outras informações que às vezes são embutidas em ferramentas, como a definição da gramática e a definição' '.:. do formato de saida para o programa, foram retiradas das ferramentas e colocadas no repositório. PortantÓ' um editor dirigido à sintaxe pode verificar se a sintaxe de um programa está correta, uma vez que está sendo digitaclo.. e um pode criar listagens de programa em um formato que seja fácil de ler.[, ~ma arquitetura de software é uma descrição de como um sistema de software é organizado. As propriedades e um SI=tema, como desempenho, proteção e disponibilidade, são influenciadas pela arquitetura adotada. As declsoes de projeto de arquitetura incluem decisões sobre o tipo de aplicação a distribuição do sistema os estilos da arquitetura a serem utilizados e as formas como a arquitetura deve ser 'documentada e avaliada. ' As larqulteturas ~odem ser document~das a partir de diferentes perspectivas ou visões. As possiveis visões Inc,uef~numa vlsao conceituai, uma vlsao loglca, uma visão de processo, uma visão de desenvolvimento e uma vlsao ISlca. Os padrões da arquitetura são um meio de reusar o conhecimento sobre as arquiteturas genéricas de sistemas Elesdescreve~ a arquitetura, explicam quando elas podem ser usadas e discutem suas vantagens e desvantagens: d EntreRospad,roes de arquitetura comumente usados estão: Modelo-Visão-Controlador, Arquitetura em camaas, eposltorlo, Cliente-servidor e Duto e filtro. Model~s genéricos de arquit~turas de sistemas de aplicação ajudam-nos a compreender o funcionamento das apllcaçoes, co~parar apílcaçoes do mesmo tipo, validar projetos de sistemas de aplicação e avaliar os componentes para reuso em larga escala. Sistemas de processamento de transações são sistemas interativos que permitem que as informações em um ~anco de dados sejam acessada: remotamente e modificadas por vários usuários. Os sistemas de informação e se gerenciamento de recursos sao exemplos de sistemas de processamento de transações. Istemas de processan:rento de linguagens são usados para traduzir textos de uma linguaguem para outra e para realizar as Instruçoes especificadas em uma linguagem de entrada. Eles incluem um tradutor e uma máquina abstrata que executa a linguagem gerada. Arquitetura do compilador em duto e filtro a Essefoi o primeiro livro sobre arquitetura de software, p senta uma boa dlscussao sobre diferentes estilos de arquitetura. (SHAW M' GARLAN D an ex Essaé uma discussão prática sobre arquiteturas de software ue não agera nos beneficiosdo projeto de arquitetura. O livro fornece uma lógica clara de ne ócio ex lie d q ~~:~~;~~~u~;~ são importantes. (BASS,L.,CLEMENTS,P.;KAZMAN, R. 2~:do~~~s~~~!
11 f f fi:' fi. Capítulo 2:3]
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
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 maisEngenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Leia maisCapítulo 6. Projeto de arquitetura. 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1
Capítulo 6 Projeto de arquitetura slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1 Os tópicos abordados Decisões de projeto de arquitetura Visões de arquitetura Padrões de arquitetura
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: ENGENHARIA DE SOFTWARE Aula N : 06 Tema:
Leia maisAnálise e Projeto de Software
Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
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 maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisO que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Leia maisCOMPILAÇÃO. Ricardo José Cabeça de Souza
COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo
Leia maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 03 Processo de Compilação Edirlei Soares de Lima Métodos de Implementação Arquitetura de Von Neumann: A linguagem de máquina de um computador
Leia maisPrincípios de Engenharia de Software. Aula 6 Projeto de Software
Princípios de Engenharia de Software Aula 6 Projeto de Software Projeto de Software Um projeto de software é uma descrição de estrutura de software a ser implementada, dos dados que são parte do sistema,
Leia maisPrincípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Leia maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia maisProgramação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR
Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de
Leia maisCompiladores I Prof. Ricardo Santos (cap 1)
Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve
Leia maisTópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.
Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A
Leia maisConstrução de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.
Construção de Compiladores Capítulo 1 Introdução José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2014.2 1/22 1 Linguagens de programação 2 Compilação 2/22 Tópicos 1
Leia maisAULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Leia maisRequisitos de Software
Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições
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 maisAs Visões. Visões arquiteturais (revisão)
As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia maisFerramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.
Para qualquer artesão seja mecânico, carpinteiro, engenheiro de software uma boa oficina deve ter 3 características: - uma coleção de ferramentas úteis que ajudam em cada passo da construção do produto
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisEngenharia de Software
Engenharia de Software Marcelle Mussalli Cordeiro {mmussalli@gmail.com} Cordeiro Reflexão O que é software?? Cordeiro 2 O que é Software? Programa Dados de configuração Dados de documentação Tudo que esteja
Leia maisConceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados. 2
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Leia maisIntrodução a Programação
Introdução a Programação Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Informática e a Programação Roteiro Informática Pensar e Programar Atividades
Leia maisINE5421 LINGUAGENS FORMAIS E COMPILADORES
INE5421 LINGUAGENS FORMAIS E COMPILADORES PLANO DE ENSINO Objetivo geral Conhecer a teoria das linguagens formais visando sua aplicação na especificação de linguagens de programação e na construção de
Leia maisProf. Ms. Ronaldo Martins da Costa
Prof. Ms. Ronaldo Martins da Costa Diferentes conjuntos de etapas que envolvem métodos, ferramentas e procedimentos utilizados no desenvolvimento de software CiclodeVidaClássico Prototipação Modelo Espiral
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia maisMétodos de implementação de linguagens. Kellen Pinagé
Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia mais5 Usando as Representações de Design Rationale
5 Usando as Representações de Design Rationale Como mencionamos anteriormente, representar design rationale em uma linguagem formal usando o modelo formal dos artefatos nos permite atribuir semântica ao
Leia maisArquitetura e Organização de computadores
Arquitetura e Organização de computadores Aula 1: Organização e evolução de computador, parte 1 Prof. MSc. Pedro Brandão Neto pedroobn@gmail.com Sistemas de Informação - UNDB Introdução Computador Digital
Leia maisCompiladores. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 38
Compiladores Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2017 1 / 38 Sumário 1 Compiladores 2 Linguagens de programação 3 Ciência dos compiladores
Leia maisAlgoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza
Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha Conceitos Lógica de Programação técnica de encadear pensamentos
Leia maisSistemas Operacionais
Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads
Leia maisModelos de Processo de Software
Modelos de Processo de Software Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com PAE: Armando M. Toda armando.toda@gmail.com (material produzido e atualizado pelos professores
Leia maisDiagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama
DCC / ICEx / UFMG Diagrama de Diagrama de Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Adota uma linguagem simples Acessível ao cliente Objetivo é a compreensão do comportamento externo do sistema
Leia maisProfa. Reane Franco Goulart
Profa. Reane Franco Goulart É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro áreas principais: dados, arquitetura, interfaces e componentes.
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 04 - Linguagens de Programação, Interpretador, compilador
Leia maisIFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli
Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação
Leia maisDe Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software
AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisTécnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Leia maisEngenharia de Software
Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed. Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisREUSO E REUSABILIDADE
REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.
Leia maisArquitetura de Computadores. Conjunto de Instruções
Arquitetura de Computadores Conjunto de Instruções Arquitetura do Conjunto das Instruções ISA (Instruction Set Architecture) Traduz para uma linguagem intermediária (ISA) os vários programas em diversas
Leia maisEngenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno
Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos O objetivo do processo de Engenharia de Requisitos é criar e manter
Leia maisProgramação de Sistemas (Sistemas de Programação) Semana 10, Aula 17
PCS3616 Programação de Sistemas (Sistemas de Programação) Semana 10, Aula 17 Linguagens e Compiladores Programação em linguagem de alto nível Escola Politécnica da Universidade de São Paulo Roteiro 1.
Leia maisEngenharia de Software.
Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software
Leia maisPCS3413 Engenharia de Software e Banco de Dados
PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações
Leia maisEngenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro
Engenharia de Confiança Helena Macedo Reis Luis Fernando de Souza Moro 1 Engenharia de Confiança Preocupada com técnicas que aumentam a confiança e diminui os riscos de falhas Falha pode causar perda de
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 maisCapítulo 1. Aspectos Preliminares
Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de
Leia maisRequisitos de Software
Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais
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 maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisFACULDADE LEÃO SAMPAIO
FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS
Leia maisConceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados. Introdução
Conceitos relativos a Banco de Dados & Modelos de Informação de Banco de Dados Prof. Anderson Henriques Introdução A quantidade de informação relevante para a tomada de decisões nas organizações é muito
Leia maisRUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Leia maisRequisitos de Software e UML Básico. Janaína Horácio
Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos
Leia maisReutilização de Software
DCC / ICEx / UFMG Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Reutilização de Software Abordagem de desenvolvimento com o objetivo de maximizar o uso de software pré-existente
Leia maisCompiladores. Conceitos Básicos
Compiladores Conceitos Básicos Processadores de Linguagem De forma simples, um compilador é um programa que recebe como entrada um programa em uma linguagem de programação a linguagem fonte e o traduz
Leia maisArquitetura de software
Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =
Leia maisParadigmas de Programação
Paradigmas de Programação Prof.: Edilberto M. Silva http://www.edilms.eti.br Aula 2 Linguagens de Programação Desenvolvimento e execução de programas Características de linguagens Execução de programas
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 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 maisORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1
ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho
Leia maisQualidade de software. Prof. Emiliano Monteiro
Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação
Leia maisComo construir um compilador utilizando ferramentas Java
Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um
Leia maisProf. Dr. Thiago Jabur Bittar
Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de
Leia mais3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Leia maisModelagem de Sistemas. Análise de Requisitos. Modelagem
Modelagem de Sistemas Teoria Geral de Sistemas TADS 2. Semestre Prof. André Luís Para abordarmos de forma mais profunda os conceitos de Modelagem de Sistemas de Informação, precisamos também falar na Engenharia
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
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 maisCompiladores. Introdução à Compiladores
Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem
Leia maisENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Leia maisIntrodução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga
Leia maisGerência de Projetos e Qualidade de Software. Prof. Walter Gima
Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1 Plano de Ensino e Aprendizagem 2 3 Objetivos CONTEÚDO Se preparar para o inicio de um projeto Acompanhamento projeto Controles Métricas
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisCapítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.
Capítulo 5 Gerenciamento do Escopo do projeto 1 Introdução Antes de iniciarmos vamos pensar um pouco. 2 Introdução 3 Introdução 4 Introdução 5 Introdução O projeto se inicia com a definição de quais objetivos
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Leia maisENGENHARIA DE SOFTWARE. Introdução
ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo
Leia maisFerramentas Programação. UDESC - Prof. Juliano Maia 1
Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano
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 maisComputadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Leia maisUniversidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores
Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise
Leia maisUTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas
UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:
Leia maisSistemas Embarcados (embutidos) Paulo C. Masiero
Sistemas Embarcados (embutidos) Paulo C. Masiero Caracterização São usados para controlar sistemas de diferentes tipos: máquinas domésticas, fábricas, carros, jogos etc. O software é embutido no hardware
Leia maisEstrutura e Funcionamento dos Computadores (Conceitos Básicos)
Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes
Leia maisParadigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES
Paradigmas da Engenharia de Software AULA 03-04 PROF. ABRAHAO LOPES Introdução O processo de software é visto por uma sequência de atividades que produzem uma variedade de documentos, resultando em um
Leia maisAula de hoje. Programação. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores
SCC 124 - Introdução à Programação para Engenharias Programação Aula de hoje Programação Linguagens de programação Tradutores s Exemplos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando:
Leia mais