1/26/2009. Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software. Testes/validação.
|
|
- Cecília Franco Carvalhal
- 6 Há anos
- Visualizações:
Transcrição
1 Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software Testes/validação Problema Solução 1
2 Problema Solução Implementação Arquitetos (algumas vezes) usam UML para criar modelos de alto nível São usados em um primeiro momento Discussões, idéias, etc (análise) Porém logo são inúteis Programadores criam código manualmente Manutenção é feita diretamente no código Modelos perdem a consistência Mesmo com engenharia reversa, ainda é um artefato desnecessário Qual o problema com a modelagem? Por que descartamos logo os modelos? 2
3 Considere os seguintes requisitos para um software: Preciso escrever Alô mundo! na tela public static void main(string args[]) { System.out.println( Alô mundo! ); Considere os seguintes requisitos para um software: Preciso escrever Alô mundo! na tela No futuro, deve ser possível utilizar outras mensagens, além de Alô mundo! 3
4 public static void main(string args[]) { if(args.length > 0) imprimemensagem(args[0]); else imprimemensagem( Alô mundo! ); public static void imprimemensagem(string mensagem) { System.out.println(mensagem); Considere os seguintes requisitos para um software: Preciso escrever Alô mundo! na tela No futuro, deve ser possível utilizar outras mensagens, além de Alô mundo! Deve ser possível usar diferentes cores Alô mundo! 4
5 Considere os seguintes requisitos para um software: Preciso escrever Alô mundo! na tela No futuro, deve ser possível utilizar outras mensagens, além de Alô mundo! Deve ser possível usar diferentes cores Deve ser possível usar diferentes dispositivos (celular, monitor, projetor, palm, etc.) FabricaDeMensagem Abstrata MensagemAbstrata FabricaDeMensagem Desktop FabricaDeMensagem Palm FabricaDeMensagem Celular Mensagem Desktop Mensagem Palm Mensagem Celular Considere os seguintes requisitos para um software: Preciso escrever Alô mundo! na tela No futuro, deve ser possível utilizar outras mensagens, além de Alô mundo! Deve ser possível usar diferentes cores Deve ser possível usar diferentes dispositivos (celular, monitor, projetor, palm, etc.) Deve ser possível enviar a mensagem remotamente, pela Internet 5
6 Adapter Protocolo Adapter Controle de acesso Internacionalização Criptografia Tarifação Base de Dados Adapter Finanças Economia Trabalho mental dos desenvolvedores OO Padrões Alimentos Turismo Jogos Aeronáutica Linguagens Métodos ágeis Banco de dados Domínio do problema Domínio TI Complexidade inerente vs complexidade acidental Ex: Diferentes dispositivos (desktop, celular, palm, etc...) Classes abstratas, herança, polimorfismo, constantes, programação reflexiva, métodos da classe String,... 6
7 Complexidade inerente Impossível descartar... a menos que você tenha uma boa lábia... Resolver é sua obrigação Complexidade acidental É possível contornar/reduzir Frameworks, padrões, etc... São problemas que você mesmo criou Problema Complexidade acidental Solução Implementação Entrevistar cliente Fazer documento de requisitos Abrir ferramenta de modelagem (UML) Aprender UML Representar o problema em UML Aprender UML Discutir problema em cima dos modelos Projetar solução Representar solução em UML Aprender UML Gerar protótipos automaticamente Adaptar protótipos Completar protótipo com regras de negócio Testar e implantar 7
8 Entrevistar cliente Fazer documento de requisitos Abrir ferramenta de modelagem (UML) Aprender UML Representar o problema em UML Aprender UML Discutir problema em cima dos modelos Projetar solução Representar solução em UML Aprender UML Gerar protótipos automaticamente Adaptar protótipos Completar protótipo com regras de negócio Testar e implantar In Ac Reduzir o fardo da modelagem Dificuldades da linguagem (UML) Inconsistências entre modelo-código Necessidade de ferramentas caras Modelo é algo desnecessário Conhecimento fica criptografado no código public static void main(string args[]) { if(args.length > 0) imprimemensagem(args[0]); else imprimemensagem( Alô mundo! ); public static void imprimemensagem(string mensagem) { System.out.println(mensagem); 8
9 public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); Inicial Fechado Abriu porta Fechou porta Disparando alarme Aberto 10 segundos 20 segundos ASM Java C# Lisp Prolog 9
10 Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Formas mais eficientes para representar o conhecimento Menos dependentes do código final Mais próximas do domínio do problema Diferente da documentação Um elemento do modelo corresponde a vários elementos do código Diferença no nível de abstração Mapeamento problema / solução Abriu porta Inicial Fechado Fechou porta Aberto Disparando alarme 10 segundos 20 segundos public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); 10
11 Abriu porta Inicial Fechado Fechou porta Aberto Disparando alarme 10 segundos 20 segundos public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); Abriu porta Inicial Fechado Fechou porta Aberto Disparando alarme 10 segundos 20 segundos public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); 11
12 Muitas tarefas de implementação são repetitivas e exaustivas EJB 2.0 CORBA Struts Hibernate Perde-se tempo precioso em trabalho braçal Poderia ser usado em tarefas mais conceituais Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Foco em tarefas conceituais Evitar tarefas repetitivas Correções Erros Melhorias Evolução Novas funcionalidades Exigem nova análise, projeto, implementação, testes, etc... Normalmente o tempo é curto 12
13 Abriu porta Inicial Fechado Fechou porta Aberto Disparando alarme 10 segundos 20 segundos public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); Modificar um campo de um registro em uma aplicação baseada em Struts Tabela, índices, visões, consultas, etc. (SQL) Ação (classe Java) Mapeamento (XML) Formulário (XML) Bean de dados (Java/XML) DAO - Data Access Objects (Java) Página (HTML) Regras de validação (Javascript) Arquivo de mensagens (.properties) etc. 13
14 Trabalho braçal para construir Re-trabalho braçal para modificar Rastreabilidade Um elemento conceitual Diversos artefatos de implementação Consistência das mudanças Entre os diversos artefatos Erros de programação podem ser facilmente encontrados Compilador / IDE Checagens simples (método privado nunca é chamado, etc.) Erros conceituais Difíceis de identificar no código Conhecimento está criptografado public void abriu() { estado = ABERTO; timer = new Timer(10000); public void fechou() { if(estado == ABERTO) { estado = FECHADO; timer = null; public void fimtimer() { if(estado == ABERTO) { estado = DISPARANDO; tocaalarme(); timer = new Timer(20000); else { estado = ABERTO; desligaalarme(); timer = new Timer(10000); 14
15 Inicial Fechado Abriu porta Fechou porta Disparando alarme Aberto 10 segundos 20 segundos Inicial Abriu porta Fechado Fechou porta Fechou porta Disparando alarme Aberto 10 segundos 20 segundos Uma vez realizada a alteração Atualizar os modelos (Quase) nunca acontece Faz parte da complexidade acidental Uma vez que os desenvolvedores tenham um modelo mental começam a descartar o modelo físico (documentação) Resultado = modelos desatualizados Faz parte do fardo da modelagem 15
16 Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Aproveitar o re-trabalho de forma mais produtiva Possibilitar que mudanças sejam realizadas no nível conceitual Facilitar a localização de erros e falhas Manter a consistência entre modelo e código Verificações automáticas de restrições de alto nível Difíceis de se realizar diretamente no código Exemplos (máquina de estados): Estados inalcançáveis Transições infinitas Estados mortos Facilita manutenção Evitando introdução de erros Estado morto Estado inalcançavel Transição infinita 16
17 Nível de código Pré-calcular expressões Utilização de macros Remoção de expressões redundantes Em nível mais alto não é possível sem a existência de um modelo Remover estados redundantes Normalizar base de dados Indexar tabelas de acordo com as consultas existentes Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Fazer uso de checagem automática Utilizar o conhecimento de especialistas do domínio Acompanhar a evolução das plataformas de hardware/software Novas tecnologias surgem Aumenta a pressão para a migração Custo do porte: Esforço gasto em tarefas específicas da plataforma 17
18 Software independente da plataforma Software dependente da plataforma Requisitos Modelos Regras de negócio Otimizações Código multi-plataforma (Java) Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma Software independente da plataforma Software dependente da plataforma 1 mês Requisitos Modelos Regras de negócio Otimizações Código multi-plataforma (Java) Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma 6 meses Software independente da plataforma Software dependente da plataforma Requisitos Modelos Regras de negócio Otimizações Código multi-plataforma (Java) Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma 18
19 Software independente da plataforma Software dependente da plataforma 1 mês Requisitos Modelos Regras de negócio Otimizações Código multi-plataforma (Java) Arquivos de configuração Scripts (sql, make, etc) Código específico da plataforma Bibliotecas da plataforma 3 meses Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Portabilidade Reduzir o esforço específico de plataforma Concentrar no tabalho conceitual Exemplo: LBS Location-Based Systems GIS Geographical Information Systems Múltiplas plataformas Múltiplas interfaces Diversas fontes de dados Interoperabilidade Usuário final leigo 19
20 Rastreamento (rádio-frequecia, GPRS) Visualização (Java SWING, Web, JME, Palm) Localização Roteamento Telemetria Acionamento remoto Hardware dedicado (veículos) GPS, sensores, atuadores Software embarcado (C) Geoposicionamento Leitura/escrita sinais Protocolo de comunicação Transmissão Criptografia Central (C++) Armazenamento dos dados Autenticação Monitoramento/rotas (Java/SWING) Visualização dos veículos Sobreposição no mapa Cálculo de rotas Servidor de mapas (Java) Visualização em camadas Caching Base de dados PostgreSQL + PostGIS Funções de consulta / geometria Diferentes fornecedores de mapas 20
21 Dispositivos móveis Celular (JME) PND Personal Navigation Device (C# /.NET) Visualização Web Portal de mapas (Javascript) Edição de mapas (Java/SWING) Nomes de ruas Sentido/mão de direção Complexidade exige Diversos profissionais Diversos especialistas Comunicação é crítica Especialistas em TI x Especialistas no domínio Cada um em seu território! Porém, com a alta complexidade Torna-se uma tarefa difícil Além disso Constantes mudanças nas plataformas/requisitos/tecnologias disponíveis Rastreamento (rádio-frequecia, GPRS) Visualização (Java SWING, Web, JME, Palm) Localização Roteamento Telemetria Acionamento remoto 21
22 Reduzir o fardo da modelagem Facilitar o reuso do conhecimento Aproveitar o trabalho de forma mais produtiva Facilitar a manutenção Validação / otimização Portabilidade Lidar com a alta complexidade do software atual Diferentes especialistas (TI vs domínio) Necessidade de integração / interoperabilidade Modelagem Reutilização Produtividade Manutenibilidade Validação / otimização Portabilidade Alta complexidade Desenvolvimento Orientado a Modelos (MDD) Model-Driven Development (MDSD) Model-Driven Software Development (MDE) Model-Driven Engineering 22
23 import java.util.*; Economia Finanças Jogos Alimentos public synchronized replicatedata() {... page language="java > prefix="c uri="jsp/jstl/core %> <struts-config> <form-bean>... <html> <action>... CREATE <head> TABLE... </struts-config> Map( id INTEGER PK... ) # include "demoextension.h" int AEEClsCreateInstance(void **ppobj) { *ppobj = NULL; if( ClsId == AEECLSID)... jnz Rx 00# add b, 0F# add c, 0E# mov A, 00# import java.util.*; Economia Finanças Jogos Alimentos public synchronized replicatedata() {... <%@ page language="java > <%@taglib prefix="c uri="jsp/jstl/core %> <struts-config> <form-bean>... <html> <action>... CREATE <head> TABLE... </struts-config> Map( id INTEGER PK... ) # include "demoextension.h" int AEEClsCreateInstance(void **ppobj) { *ppobj = NULL; if( ClsId == AEECLSID)... jnz Rx 00# add b, 0F# add c, 0E# mov A, 00# Modelos fazem parte do software import java.util.*; Economia Finanças Jogos Alimentos public synchronized replicatedata() {... <%@ page language="java > <%@taglib prefix="c uri="jsp/jstl/core %> <struts-config> <form-bean>... <html> <action>... CREATE <head> TABLE... </struts-config> Map( id INTEGER PK... ) # include "demoextension.h" int AEEClsCreateInstance(void **ppobj) { *ppobj = NULL; if( ClsId == AEECLSID)... jnz Rx 00# add b, 0F# add c, 0E# mov A, 00# 23
24 Os modelos não são somente papel São entradas para transformadores e geradores Desenvolvedor é protegido das complexidades Inerente e acidental Em alguns casos, o desenvolvedor nem precisa visualizar código! public int soma (int a, int b) { int resultado = a + b; return resultado; 71 public int soma (int a, int b) { int resultado = a + b; return resultado; public int soma (int a, int b) { int resultado = a + b; return resultado;.java PUSH AX MOV AL, char MOV AH, 0Eh INT 10h POP AX.asm bin 72 24
25 PUSH AX MOV AL, char MOV AH, 0Eh INTpublic int soma 53 (int 10h a, int b) { POP int resultado = AXa b; ADD return resultado; AX,BX INT 10h POP AX JNZ R1, 1Eh Domínio problema 145.math public int soma (int a, int b) { int resultado = a + b; return resultado;.java PUSH AX MOV AL, char MOV AH, 0Eh INT Domínio 10h TI POP AX.asm (solução) bin 74 Microsoft Access 75 25
26 76 Netbeans UML Matisse Mobility Demonstração 26
27 Exemplo do Netbeans Não é possível alterar a ferramenta de modelagem Não é possível alterar a transformação Tecnologias atuais MDD Permitem a construção/edição destes artefatos Venda Compra Aluguel Contrato Fiador Cotação Classe Objeto Métodos Atributos Padrões Especialista do domínio Especialista em TI 27
28 Um único modelo pode dar origem a diferentes implementações, linguagens ou plataformas Permite capturar o conhecimento do domínio de forma clara Ficando disponível para os desenvolvedores Esconde detalhes de implementação durante o desenvolvimento de soluções Um único modelo pode gerar uma grande quantidade e diversidade de código Especialistas do domínio têm um papel mais ativo no processo Maior eficiência no desenvolvimento Maior qualidade no produto/processo Geradores não produzem erros acidentais Modelos estão sempre atualizados Maior rigidez no software produzido Alta complexidade dos artefatos necessários (transformadores, etc) Questão do desempenho Otimização automática vs código escrito manualmente Exige habilidades específicas e pessoas altamente especializadas em MDD 28
29
30 Nokia reporta que consegue desenvolver novos celulares até 10 vezes mais rápido Lucent relata ganhos de produtividade de 3 a 10 vezes, dependendo do produto Redução de 50 para 1 em termos de linha de especificação/código Juha-Pekka Tolvanen. Making model-based code generation work. Embedded Systems Europe, 8(60):3638, Aug/Sept David Wile. Lessons learned from real dsl experiments. Sci. Comput. Program., 51(3): , MDD são os princípios Desenvolvimento orientado a modelos Elevação da importância do modelo no processo Existem diversas frentes Cada uma baseada em padrões, ferramentas e processos específicos 30
31 OMG MDA (Model-Driven Architecture) Vanderbilt University MIC (Model Integrated Computing) Microsoft Software Factories Eclipse Modeling Model-Driven Architecture Surgiu em 2001 Baseada em padrões (standards) Objetivo Especificar um sistema de forma independente de plataforma Especificar plataformas Escolher uma plataforma para o sistema Transformar a especificação genérica em uma especificação específica de plataforma 31
32 CIM Computation Independent Model PIM Platform Independent Model PSM Platform Specific Model Modelo de plataforma Transformação de modelos 32
33 UML Unified Modeling Language MOF Meta-Object Facility CWM Common Warehouse Metamodel XMI XML Metadata Interchange QVT Query / Views / Transformations MOF Formato XML XMI UML CWM Outros metamodelos Modelos UML Modelos de dados Outros modelos Modelo UML1.xmi Modelo UML2.xmi Modelo Dados1.xmi Modelo Qualquer1.xmi Modelo Qualquer2.xmi MOF Metamodelo A Metamodelo B Modelos A QVT Modelos B Consultas Transformações 33
34 Uma série de especificações Foco em portabilidade, independência de plataforma Voltadas à implementação e padronização é uma referência Fabricantes podem optar por aderir aos padrões Não define uma metodologia Não define ferramentas Porém foi uma das iniciativas fundamentais para o surgimento do paradigma Model Integrated Computing Pesquisa da Vanderbilt University Três elementos principais Tecnologia para modelagem específica de domínio Conjunto de ferramentas para modelagem Framework para análise formal, verificação e transformação de modelos GME Generic Modeling Environment Jack Greenfield, Keith Short, Steve Cook, and Stuart Kent. Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. Wiley, Abordagem para desenvolvimento de software Reutilização sistemática MDD tem um papel importante 34
35 Pense em uma fábrica tradicional Estrutura projetada para produzir uma determinada família ou linha de produtos Três elementos Esquema da fábrica de software: descreve o que é necessário para construir os produtos da fábrica Template da fábrica: é uma instância do esquema Ambiente extensível: ferramentas utilizadas para a produção, configuradas através do template Modelos são usados para Capturar especificações em alto nível (intenção) Transformações são usadas para Gerar implementação automaticamente Outras checagens realizadas em modelos Diferentemente da MDA Menos interesse em portabilidade e independência de plataforma Maior foco em produtividade e reutilização Microsoft Visual Studio DSL Tools Ferramenta para definição de linguagens específicas de domínio Geração de código Outras funções 35
36 Série de ferramentas e protótipos Origem e influência do MOF Linha própria INRIA Institut National de Recherche en Informatique et en Automatique França Universidade de Nantes França Borland IBM Eclipse Modeling Framework Graphical Modeling Framework Textual Modeling Framework Xtext TCS UML2 Tools Model to Model Transformation Atlas Transformation Language Model to Text Transformation Java Emitter Templates Xpand Generative Modeling Technologies Incubadora de projetos inovadores relacionados a modelagem AM3, AMW, MOFScript, etc. 36
37 Solução Implementação Problema 1/26/2009 Complexidade acidental Solução Ferramenta de modelagem Transformações Produto Desenvolvedor Compiladores Benefícios 37
38 DSL UML MIC Software factories TMF MDA Eclipse Sugestões: Qual a relação MDD / métodos ágeis? Se a modelagem é acidental, porque precisamos dela? E quanto à gerência de configuração? Como são realizados os testes no MDD? Quanto tempo ainda vai demorar? Vai ter coffee break? O que vai cair na prova? Quem ganhou a corrida de F1? O que pesa mais? 1 Kg de penas ou 1 Kg de chumbo? 38
Parte 1 CONCEITOS MDD
Parte 1 CONCEITOS MDD 1 Desenvolvimento de software Como éfeito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software Testes/validação Uma série de problemas!!
Leia maisModel Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software
Leia maisMetamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo
Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados
Leia mais1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M
Abstrações do mundo real Sistema e seu ambiente Com um propósito específico Simulação, geração de código No MDD Quem lê e entende o modelo é o computador Uma vez que o computador entenda o modelo... O
Leia mais3 Tecnologias Relacionadas
Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais
Leia maisDesenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG
Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas Prof. Valdemar Neto INF-UFG Agenda Introdução Conceitos Ferramentas Aplicações Perspectivas Engenharia de Software Convencional
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia maisMÓDULO Análise Orientada a Objetos Introdução
MÓDULO Análise Orientada a Objetos Introdução Prof. M.Sc. Sílvio Bacalá Júnior OBJETIVO DO MÓDULO Apresentação da disciplina Conteúdo Programático Sistema de Avaliação Bibliografia DAW4 2 CURRÍCULO DO
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 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 maisAgenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software
Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso
Leia maisAgenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo
Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisModel Driven Architecture. Centro de Informática/UFPE Fernando Trinta
Model Driven Architecture Centro de Informática/UFPE Fernando Trinta Roteiro Contexto Introdução Conceitos MDA Platform Independent Model Platform Specific Model Transformations Consequências Promessas
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 maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisAgenda Atual do Curso. Desenvolvimento Dirigido por Modelos (MDD) Abordagem MDD. Agenda da Aula. Abordagem MDD. Manutenção e Geração
Reuso de Software Aula 21 Agenda Atual do Curso Desenvolvimento Dirigido por Modelos (MDD) Aula 23 Data 28/05 Assunto Avaliação Experimental de Reuso 24 30/05 Semana da PPGCC (ñ há aula) 25 04/06 Apresentações
Leia maisTécnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira
Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha
Leia maisAnálise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Leia maisModel Driven Development (MDD)
DCC / ICEx / UFMG Model Driven Development (MDD) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação para MDD Software é caro Os EUA sozinho investem mais de $250 bilhões em software Nos EUA,
Leia maisIntrodução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Leia maisSergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015
Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 1 Introdução Motivação; MDE; Programas Adaptativos. SBMM; Metamodelo para Programas Adaptativos; Ferramenta CASE para Programas Adaptativos;
Leia maisINE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago
INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por
Leia maisTransformando Modelos da MDA com o apoio de Componentes de Software
Transformando Modelos da MDA com o apoio de Componentes de Software Fapesp-PIPE Autores: Marco Antonio Pereira Antonio Francisco do Prado Mauro Biajiz Valdirene Fontanette Daniel Lucrédio Campinas-SP,
Leia maisUma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos
Uma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos Chessman Kennedy Faria Corrêa 1 Leonardo G. P. Murta 1 Claudia M. L. Werner 1 1 Programa de Engenharia de Sistemas
Leia maisENGENHARIA DE SOFTWARE
EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação
Leia maisFormalismos de Grafos de Interação
Formalismos de Grafos de Interação ( A Model-based Approach for developing 3D Users Interfaces - Juan Manuel Gonzalez Calleros) Disciplina:Tópicos em IHC II- Interação 3D Professor :Alberto Raposo Tópicos
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia mais4 ALBATROZ : Um ambiente para desenvolvimento de SMA
41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisArquitetura em Camadas
Arquitetura em Camadas 1 Introdução Em aplicações OO de médio e grande porte, diversos aspectos devem ser considerados: Apresentação Lógica da aplicação Lógica do negócio Persistência de Objetos Camada
Leia maisOrientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Leia maisMódulo II Arquitetura em Camadas
Módulo II Arquitetura em Camadas Prof. Ismael H F Santos April 08 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Arquitetura de camadas de Software Arquiteturas em Camadas Padrões para
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 maisDesenvolvimento Dirigido por Modelos: Ferramentas
DCC / ICEx / UFMG Desenvolvimento Dirigido por Modelos: Ferramentas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Existe MDD na prática? Poucos sistemas ainda são desenvolvidos usando a filosofia
Leia maisFerramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE
Leia maisAmbiente de Desenvolvimento Integrado (IDE)
Ambiente de Desenvolvimento Integrado (IDE) Aula #2.1. EBS 211 POO e UML Prof. Luiz Fernando S. Coletta luizfsc@tupa.unesp.br Campus de Tupã Roteiro Ambiente de Desenvolvimento Integrado; ; Instalação
Leia maisAULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Leia maisIntrodução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota
Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução
Leia maisDesenvolvimento Java com ferramentas IBM
Desenvolvimento Java com ferramentas IBM Camilo Lopes IT Specialist/Analyst Java Programmer camilom@br.ibm.com Iniciando em Java 19/06/09 Agenda Por que Java?! Ferramentas IBM para desenvolvimento Demonstração
Leia maisGERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri
FERRAMENTA VISUAL PARA GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri ROTEIRO Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento
Leia maisClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência.
ClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência. Marcelio Leal 1 Porto Alegre, Abril, 2006 Apresentação Engenheiro de software do SEPRO Graduado em C. da Computação Mestrando
Leia maisCurso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML
Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do
Leia maisAplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA
Alexandre dos Santos Mignon Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título
Leia maisUML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução
UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisRUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp
RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp web@cercomp.ufg.br 1. Introdução É um processo proprietário de Engenharia de software criado pela Rational Software Corporation,
Leia maisALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
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 mais6.1. Teste Baseado em Gramática e Outras Abordagens de Teste
6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam
Leia maisAumento da complexidade dos sistemas. aumento do nível de abstração
ODYSSEY-MDA: UMA ABORDAGEM PARA A TRANSFORMAÇÃO DE MODELOS Natanael Elias Nascimento Maia Orientadora: Cláudia Maria Lima Werner Março - 2006 1 Roteiro Introdução Arquitetura Orientada por Modelos Transformação
Leia maisCiência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo
Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de
Leia maisUML (Unified Modelling Language)
UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
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 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 maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
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 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 maisUtilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008
Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet Kleber Taffarel Novembro de 2008 klebertaffarel@yahoo.com.br Palestrante Especialista em Engenharia de Websites pela
Leia maisPrincipais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Leia maisTópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos
Reuso de Software Aula 20 Tópicos da Aula Desenvolvimento Dirigido por Modelos (MDD) Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com
Leia maisOdyssey-MDA: Uma Ferramenta para Transformações de Modelos UML
Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511
Leia maisModel-Driven Architecture
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Model-Driven Architecture Guilherme Potenciano Ricardo Cacheta Waldemarin SSC5944 - Arquitetura de Software (...) it might be
Leia maisSISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO
SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO Edilene de Fátima Vetorato 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Fatec, Botucatu, SP, Brasil. E-mail: edilenefv@hotmail.com
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual
Leia maisUTILIZAÇÃO DE MDA INTEGRADO AO PROCESSO UNIFICADO NA MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS
UTILIZAÇÃO DE MDA INTEGRADO AO PROCESSO UNIFICADO NA MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS Christiane Barbieri De Pelegrin * Resumo Este artigo expõe a modelagem de um sistema
Leia maisespecificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje
1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria
Leia maisArquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Leia maisCAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner
CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,
Leia maisA Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?
DCC / ICEx / UFMG A Linguagem UML A Linguagem UML Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo UML (Linguagem de Modelagem Unificada) É uma notação gráfica (visual) para projetar sistemas OO Não
Leia maisAcadêmico: Samuel Y. Deschamps Orientador: Prof. Jacques R. Heckmann
Acadêmico: Samuel Y. Deschamps Orientador: Prof. Jacques R. Heckmann Roteiro Introdução Problema a ser resolvido e objetivos Fundamentação Teórica ORM, RTTI, Custom Attributes, Nullable Desenvolvimento
Leia maisPolimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo
Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia maisModelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo
MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs
Leia mais1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010
1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil
Leia maisReúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education
Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio
Leia maisData Warehouse ETL. Rodrigo Leite Durães.
Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informaçõ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 maisEngenharia de Software
Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento
Leia maisDesenvolvimento Web com Java. Sérgio Lopes Caelum -
Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br sergio.lopes@caelum.com.br Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares
Leia maisAula 1.7 Introdução a APOO e UML
APOO Aula 1.7 Introdução a APOO e UML Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Possuir um lápis e uma régua não te tornam um arquiteto 2 Você pode conhecer toda a API Java, C++ ou qualquer LPOO. 3 Mas
Leia maisPROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA AGÊNCIA DE TRANSPORTES INTERNACIONAIS
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Bacharelado em Ciências da Computação Estágio supervisionado de Conclusão de Curso PROTÓTIPO DE UM SISTEMA DE IMPORTAÇÃO PARA UMA
Leia maisConteúdo desta aula. Importância da AOO Conceito de Abstração Introdução à UML Introdução ao diagrama de classes
Introdução a AOO Conteúdo desta aula Importância da AOO Conceito de Abstração Introdução à UML Introdução ao diagrama de classes Introdução É papel do analista de sistema definir todo projeto para o desenvolvimento
Leia maisVisão Geral do RUP.
Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos
Leia maisIntrodução à Programação para Dispositivos Móveis
Introdução à Programação para Dispositivos Móveis Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Aplicações
Leia maisRequisitos de Sistemas
Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional
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 maisUnidade 1 Introdução
Unidade 1 UFCG/CEEI/DSC Banco de Dados I Prof. Cláudio Baptista, PhD O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo. Propriedades de um BD: Um BD
Leia maisAula 10 Especificação de Requisitos
Aula 10 Especificação de Requisitos Alessandro Garcia LES/DI/PUC-Rio Setembro 2016 Especificação Objetivos dessa aula Apresentar a importância e o que são especificações de requisitos, bem como conceitos
Leia maisDocumento de Arquitetura de Software- SGE
Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de
Leia maisBanco de Dados - Conceitos. Baseado no material da Profa. Vania Bogorny (UFSC)
Banco de Dados - Conceitos Baseado no material da Profa. Vania Bogorny (UFSC) 1 Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel compra de passagens
Leia maisAula 1: Apresentação, Computação Corporativa
Aula 1: Apresentação, Computação Corporativa Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Apresentação, Computação Corporativa TEPIS
Leia maisConcurso Público para provimento de cargo efetivo de Docentes. Edital 09/2015 INFORMÁTICA Campus Manhuaçu
Questão 01 Assinale o item abaixo que NÃO é caracterizado como uma vantagem do processo de desenvolvimento iterativo e incremental. a) Os riscos do projeto podem ser mais bem gerenciados. b) Soluciona
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 maisPerfil Formação Acadêmica Experiência Profissional Capacitação Profissional
Programador - DESENVOLVEDOR JAVA Deverá possuir experiência comprovada de pelo menos 01 (um) ano em desenvolvimento de aplicações WEB com J2EE; Conhecimentos em JSP, TagLib, Servlets, Classes Java, linguagem
Leia mais