1/26/2009. Baseadas em Experiência pessoal/profissional/acadêmica
|
|
- Raphael Minho Cipriano
- 8 Há anos
- Visualizações:
Transcrição
1 Baseadas em Experiência pessoal/profissional/acadêmica 1
2 Metamodelo UML Meu Metamodelo Meu processo de negócios Meu processo de negócios Stereotypes Perfis Controle sobre os elementos Modelo mais conciso / enxuto Facilita as transformações / geração de código Modelo mais legível Sistemas automotivos Controladores de motor Sistemas embarcados Diesel Gas 2
3 Metamodelo da UML é COMPLICADO! Vários elementos / pacotes Vários níveis de herança Confusão de nomes Difícil escrever transformações Ele é o artefato central Ele define a semântica do seu domínio e das linguagens É a linguagem comum dentro da organização/projeto/grupo Utilize meios robustos e escaláveis para defini-lo e mantê-lo DSL textual ou ferramenta UML Editor em árvore EMF não é escalável Nem o editor GMF... 3
4 É importante Capacidade de dividir o metamodelo em vários módulos Definição deve ser incremental! Baseada na experiência Conhecimento dos especialistas Boa idéia Começar com o domínio da plataforma destino MDD centrado na arquitetura Exercite o metamodelo Melhore e valide continuamente Especialistas do domínio e equipe de desenvolvimento Discuta opções Crie modelos e sentenças para exercitá-lo Ao descobrir que é impossível expressar uma sentença ou modelo Este pode estar errado ou necessita reformulação Ou o metamodelo precisa ser alterado!! 4
5 Um modelo onde as restrições não são satisfeitas não pode ser utilizado como entrada para um gerador/transformador Verifique estas restrições! Não inclua as verificações na transformação! Torna as mesmas mais complexas Caso existam duas transformações para um mesmo modelo, estas precisam ser duplicadas em cada transformação. As verificações devem estar separadas, e acontecer cedo no processo de modelagem Ao desenvolver uma transformação Assuma que o modelo está correto e é válido Liste possíveis problemas com a validade Crie verificações externas, a serem executadas antes da transformação Durante digitação Utilizando mensagens de erro Etc. Cuidado com alterações de versões Possíveis conflitos / inconsistências Afinal, no MDD, são sujeitos ao controle de versão: Metamodelos Definições das DSLs (sintaxes) Transformações Templates Arquivos auxiliares 5
6 Mantenha código gerado e manual em arquivos separados Apesar de existirem tecnologias como Jmerge! Nunca modifique código gerado! Projete uma arquitetura que defina quais artefatos são gerados, e quais não são! Utilize abordagens de projeto apropriadas para unir código gerado e não-gerado Interfaces Padrões de projeto (Factory, Strategy, Bridge, Template Method) Código gerado pode chamar código não-gerado Código gerado Código nãogerado 6
7 Um framework não-gerado pode chamar partes que são geradas Código não-gerado Código gerado Fábricas podem ser utilizadas para plugar componentes gerados Código nãogerado Fábrica Código gerado Classes geradas podem ser subclasses de classes não geradas Classe nãogerada Classe gerada 7
8 A classe-base pode ter chamadas para métodos abstratos a serem implementados pela classe gerada (template method) Classe nãogerada Classe gerada Produza código bem estruturado e bonito sempre que possível! Tenha em mente o desenvolvedor que Irá verificar o código gerado Irá testar e depurar o código gerado Em geral, este padrão facilita a aceitação pela geração de código Exemplos: Comentários Prettyprinters / formatadores automáticos String de localização ( Gerado a partir do modelo xyz ) Acredite que é possível regenerar tudo! Não tenha medo de apagar o que foi gerado! Transformações/gerações Fato: caso seja necessário um único passo manual (uma linha que precise ser modificada, um arquivo que precise ser renomeado, etc) O gerador será descartado! 8
9 Isto não significa Gerar tudo o que for possível! Mas sim Utilize uma plataforma de domínio rica! Possivelmente construída, comprada, ou open source! Aproveite ao máximo os modelos! Evite duplicação e minimize tarefas manuais Aproveite para gerar também: Guias de usuário Textos de ajuda Dados de testes Scripts de compilação Conteúdos diversos Etc Encontre um meio-termo entre O esforço para automatizar tarefas manuais O esforço para realizar manualmente tarefas repetitivas Caso seja mais fácil fazer manualmente, FAÇA! 9
10 Os melhores desenvolvedores são até 10 vezes melhores que desenvolvedores medianos! Você é este desenvolvedor! Coloque seu conhecimento no gerador/transformador/plataforma Leve os demais desenvolvedores a seguir o mesmo caminho! Dê aos desenvolvedores uma liberdade limitada para que os mesmos implementem os aspectos não-gerados do software. Isto leva a Sistemas bem-estruturados Mantém a promessa feita pelos modelos Desafio: como combinar código gerado e código manual de forma controlada? Bloquear código / regiões protegidas! Padrões / framework de receitas (Ex: oaw) 10
11 Sistemas complexos tipicamente consistem de vários aspectos, preocupações ou pontos de vista Frequentemente estes são descritos por pessoas diferentes, em ocasiões diferentes Na maioria dos casos, diferentes formas de sintaxe concreta são necessárias Desta forma, utilize modelos separados para estes pontos de vista Estruture seu sistema em diferentes subdomínios técnicos (persistência, GUI, etc) Cada subdomínio terá seu próprio metamodelo e DSL Defina metaclasses especiais para servirem de ponte entre diferentes metamodelos Irão ajudar na junção dos aspectos Em casos mais simples, pode-se considerar nomes de elementos como a informação unificadora Às vezes, um ponto de vista é todo um aspecto! Preocupação ortogonal (persistência, segurança, etc) Entrecorta todo o sistema O gerador pode atuar como um aspect weaver Combinando os aspectos no código gerado 11
12 Defina uma plataforma de aplicações rica, específica de domínio: Bibliotecas Aplicações geradas Frameworks Classes-base -Classes do domínio Plataforma -Regras de negócio -Serviços Interpretadores de domínio -... etc Plataforma técnica/ middleware -Persistência -Transações -Distribuição -Escalonamento -Acesso a hardware -... Linguagem de programação Sistema Operacional Ao invés de gerar código para a API da linguagem As transformações irão gerar código para esta plataforma Por isso, ficam mais simples DSLs e frameworks são dois lados da mesma moeda Um framework é uma DSL? 12
13 Usuário Usuário Aplicação Gerada Aplicação Gerada Plataforma técnica / middleware Linguagem de programação (API) Sistema Operacional Plataforma técnica / middleware Plataforma Linguagem Específica de programação de (API) Domínio Sistema Operacional Não é preciso gerar 100% da aplicação Pode-se gerar uma parte E reutilizar outra A razão geração/plataforma varia De sistema para sistema Em um mesmo sistema, de momento para momento Regras simples: Se a plataforma estiver muito complicada, gere mais código Se o gerador estiver muito complicado, ou gerando muito código duplicado, mova-o para a plataforma Código gerado é frequentemente código para completar framework DSLs facilitam o uso de frameworks! 13
14 Um sistema bem-sucedido é construído sobre uma arquitetura bem definida Planeje as transformações de acordo com os elementos desta arquitetura Em uma arquitetura em camadas Utilize transformações modelo-para-modelo (m2m) para implementar as camadas superiores com base nas abstrações providas pelas camadas inferiores Camada 3 Modelos M2T Camada 2 Camada 1 Plataforma M2M M2T Modelo Modelo M2M M2M M2M M2T Modelo Modelo Modelo Modelos M2M M2T Modelo Camada 3 Camada 2 Camada 1 Plataforma 14
15 Por exemplo, assuma que precisa gerar código Java. Você precisa de: Nome do pacote para a classe gerada Caminho do projeto onde o código será gerado Etc Colocar estas informações no metamodelo do domínio irá causar poluição É ainda pior quando um mesmo modelo é usado para diferentes plataformas Permita que as metaclasses sejam anotadas com informações externas! 15
16 Ambos Podem ser construídos sobre um mesmo metamodelo Podem verificar restrições em tempo real Irão funcionar com modelos EMF básicos Editores gráficos Melhores para relações estruturais Editores textuais Melhores para aspectos algorítmicos Integram melhor com CVS (diff, merge, etc) Alguns casos requerem uma modularização da transformação Exemplo: máquina de estados / estado de emergência Problema: adicionar um estado ligado a todos os outros Transformações modelo-para-modelo podem realizar esta tarefa Nunca modifique modelos intermediários!! 16
17 Exemplo Ordenação de tabelas Tabela: name=id (Campo)*; Campo:... Ordenacao: Coluna 1 Coluna 2 Coluna 3 Nenhuma ; Ordenacao: Coluna 1 Exemplo Ordenação de tabelas Tabela: name=id (Campo)*; Campo:... Ordenacao: (ordem=int Expressao ( ASC DESC ) ; )+; Expressao: Termo (Sinal Termo)?; Termo: [Campo] Numero Expressao; Sinal: + - * / ; Ordenacao: 1 nome ASC; 2 idade*2/altura DESC;... 17
18 Ordenacao: Coluna 1 Mais simples Ordenacao: 1 nome ASC; 2 idade*2/altura DESC;... Configuração de rotina Eficiência, direção DSLs Composição criativa Flexibilidade, complexidade if(ordenação == Nenhuma ) return; else { campo = pegacampo(ordenacao); ordena(campo); } List<Ordenacao> ordenacoes =...; ordena(ordenacoes); for(ordenacao o: ordenacoes) { int valor =... // avaliar expressao ordena(o.campo, valor);... } 18
19 Configuração de rotina Composição criativa DSLs Eficiência, direção Flexibilidade, complexidade Vá tentando da esquerda para a direita! A maneira mais fácil de descrever comportamento é reduzi-lo para tags simples! Ex: Comunicação entre componentes Alternativas! Síncrona, assíncrona, etc Apenas é necessário marcar a opção desejada! A transformação ou o gerador implementa o comportamento escolhido Pode ser simples verdadeiro/falso Uma matriz de decisões Ou uma árvore de configuração mais complexa! 19
20 Próxima opção: formalismo conhecido! Máquina de estados Lógica de predicados Mecanismos de regras de negócio Vantagens: A semântica fica clara Existem editores e ferramentas É fácil implementar mecanismos para estes formalismos Esta abordagem já é considerada composição criativa! Caso não exista um formalismo adequado Invente o seu! Semântica própria Crie linguagens para descrevê-lo Desvantagem: Você precisa implementar tudo Pode não ser trivial! Último recurso: Linguagem Turingcompleta 3GL UML action semantics Qualquer comportamento Porém, não será específica para o domínio 20
21 Pressuposto: é impossível verificar a corretude do software (maioria dos casos) Solução: testes intensivos Diferentes tipos: O software faz o que o desenvolvedor queria? O que foi desenvolvido é realmente o que o sistema deveria fazer? O sistema executa e escala adequadamente? Propriedades não-funcionais funcionam conforme especificado (segurança, transações, etc)? As ferramentas e tecnologias utilizadas funcionam bem juntos? O código faz o que o desenvolvedor pretendia? Existem frameworks (JUnit) Escritos pelo desenvolvedor Tipicamente testam funcionalidades No MDD, os testes podem ser gerados a partir dos modelos 21
22 Propriedades estáticas Para comportamento, deve haver um modelo adicional! Testes adicionais podem ser gerados a partir de invariantes (OCL) Pode-se também embutir código de avaliação das restrições (OCL) no código gerado, e testar durante a execução Veículo Veículo.setMotorista(p) pre: p.idade > 18 setmotorista(pessoa p) class Veiculo {... public void setmotorista(pessoa p) { if(! (p.idade > 18) ) throw new ViolacaoDeRestricao(); } } Pode-se gerar automaticamente casos de teste para os valores -3, -1, 0, 1, 10, 17, 18, 19, E verificar se o sistema responde de acordo com o modelo previsto O sistema faz o que o cliente (ou os requisitos) diz? Mesma abordagem técnica, porém escritos pelo especialista do domínio. Talvez utilizando uma linguagem específica para isso Caso existam restrições OCL, as mesmas podem ser usadas para gerar casos de teste Pois são semanticamente mais ricas do que os requisitos típicos 22
23 Basicamente Simulam um certo número de clientes Medem tempo de resposta Utilização dos recursos Normalmente exigem Configuração do ambiente de testes Os clientes simulados podem ser gerados Quais operações chamar Sequência Intervalos Quantos processos paralelos Como e quando armazenar os resultados medidos Verificação de modelos Detecção de erros de projeto Extremo: interpretar e simular todo o modelo Existem UML Virtual Machines Mais fácil Verificar restrições antes da transformação/geração O gerador também é um artefato No início Precisa ser testado! Conceito de 2 canais Gerador 1 Código de implementação Modelo Gerador 2 Código de teste 23
24 24
Engenharia de Software II
Engenharia de Software II Aula 14 Revisão http://www.ic.uff.br/~bianca/engsoft2/ Aula 14-07/05/2006 1 Processo de Software Qual é a diferença entre uma atividade de arcabouço e uma atividade guarda chuva?
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,
Leia maisnatureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues
Modelo De Desenvolvimento De Software É uma representação abstrata do processo de desenvolvimento que define como as etapas relativas ao desenvolvimento de software serão conduzidas e interrelacionadas
Leia mais3. Fase de Planejamento dos Ciclos de Construção do Software
3. Fase de Planejamento dos Ciclos de Construção do Software A tarefa de planejar os ciclos de construção do software pode partir de diretrizes básicas. Estas diretrizes visam orientar que os ciclos de
Leia maisGuia de utilização da notação BPMN
1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação
Leia maisUNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT Disciplina: Modelagem a Programação Orientada a Objetos
Leia maisEngenharia de Software II
Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisProjeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade
Projeto da Disciplina Parte1: Estudo de Viabilidade ENTREGA: 09/04/09 Professor: Carlos José Maria Olguin Um Estudo de Viabilidade Você deve fazer um estudo de viabilidade para um projeto de sistema de
Leia mais6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes
6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes A ferramenta MAS-ML Tool surgiu com o objetivo de viabilizar o processo de desenvolvimento proposto na Seção anterior, implementando
Leia maisIntrodução ao Paradigma Orientado a Objetos. Principais conceitos
Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura
Leia maisPrincípios do teste de software
Teste de Software Princípios do teste de software Conforme a Lei de Pareto, 80% dos erros podem ser localizados em 20% do projeto, geralmente nos módulos principais do sistema; A atividade de teste não
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisEspecificação Operacional.
Especificação Operacional. Para muitos sistemas, a incerteza acerca dos requisitos leva a mudanças e problemas mais tarde no desenvolvimento de software. Zave (1984) sugere um modelo de processo que permite
Leia maisAULA 1: PARADIGMAS DE PROGRAMAÇÃO
1 AULA 1: PARADIGMAS DE PROGRAMAÇÃO Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Ementa 2 Programação Imperativa. Programação Paralela e Concorrente. Programação Lógica. Programação Funcional.
Leia maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Leia maisUnidade I Conceitos BásicosB. Conceitos BásicosB
à Engenharia de Software Unidade I Conceitos BásicosB Pedro de Alcântara dos Santos Neto pasn@ufpi.edu.br 1961 a 1963 Surgimento de novos Hardwares 1963-1968 Crise do Software! Incapacidade de se utilizar
Leia maisUML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
Leia maisNotas da Aula 6 - Fundamentos de Sistemas Operacionais
1. Monitores Notas da Aula 6 - Fundamentos de Sistemas Operacionais Embora os semáforos sejam uma boa solução para o problema da exclusão mútua, sua utilização não é trivial. O programador é obrigado a
Leia mais3 Qualidade de Software
3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo
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 maisGBD PROF. ANDREZA S. AREÃO
GBD PROF. ANDREZA S. AREÃO Dado, Informação e Conhecimento DADO: Estímulos captados pelos sentidos humanos; Símbolos gráficos ou sonoros; Ocorrências registradas (em memória, papel, etc.); Indica uma situação
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
Leia mais4.1. UML Diagramas de casos de uso
Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema
Leia maisAnálise e Projeto Orientados a Objeto
Análise e Projeto Orientados a Objeto Objetivos Comparar e contrastar Análise e Projeto Definir O que vamos fazer na disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente
Leia maisMetadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados
1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,
Leia mais1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO
1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO Desde o seu surgimento, o manuseio da computação é baseado em linguagens de programação. Ela permite que sejam construídos aplicativos
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia maisDesenvolvimento de uma Etapa
Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades
Leia mais8 Threads. 8.1 Introdução
1 8 Threads 8.1 Introdução Uma thread, também chamada de tarefa, pode ser definida como uma parte ou rotina de um processo em execução que compartilha o mesmo espaço de endereçamento, mas tem seu próprio
Leia maisMAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Leia maisEngenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias
Engenharia de Software Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias Sistemas Computacionais Automatiza ou apóia a realização de atividades humanas (processamento da informação)
Leia maisCONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO
4 CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO CONCEITOS BÁSICOS MS-DOS MICROSOFT DISK OPERATION SYSTEM INSTALAÇÃO E CONFIGURAÇÃO DE UM SISTEMA OPERATIVO LIGAÇÕES À INTERNET O que é um sistema operativo?
Leia maisPermitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;
Software Básico 2008.2 Trabalho Prático 1: programação de E/S, uso de sinais Prática de programação voltada a eventos Trabalho individual ou em dupla Data de entrega: 01/10/2008 1 O Objetivo Utilizando
Leia maisEngenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.
Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.br 1 Contextualizando... Fonte: [1] O Processo de ER pode ser
Leia maisDescrição do Produto. Altus S. A. 1
Descrição do Produto O software MasterTool IEC é um ambiente completo de desenvolvimento de aplicações para os controladores programáveis da Série Duo. Esta ferramenta permite a programação e a configuração
Leia maisUnidade 8: Padrão MVC e DAO Prof. Daniel Caetano
Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores
Leia maisManual do Teclado de Satisfação Online WebOpinião
Manual do Teclado de Satisfação Online WebOpinião Versão 1.2.3 27 de novembro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação
Leia maisagility made possible
RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility
Leia maisQUALIDADE DE SOFTWARE
QUALIDADE DE SOFTWARE - 02 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 A ISO 9000-3 é um guia para a aplicação da ISO 9001 para o desenvolvimento, fornecimento e manutenção de software.
Leia maisProf. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior
Prof. Antonio Almeida de Barros Jr. Introdução Dados Informações Banco de Dados Conceitos Básicos em Bancos de Dados Definição BD - Banco de Dados SGBD - Sistema de Gerenciamento de BD Programa de Aplicação
Leia maisMetodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr
Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software
Leia maisRisco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto.
Risco de projeto é um evento ou condição incerta que, se ocorrer, tem um efeito positivo ou um negativo no objetivo de um projeto. Um risco tem uma causa e, se ocorre, uma conseqüência. Se um ou outro
Leia maisLinguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Leia maisO Processo de Engenharia de Requisitos
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo de Engenharia de Requisitos Engenharia de Software 2o.
Leia maisCOORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO. Versão 1.0
COORDENAÇÃO DE EAD MANUAL DE UTILIZAÇÃO DO MOODLE 2.6 PERFIL ALUNO Versão 1.0 2015 SUMÁRIO 1. O MOODLE 3 2. Acesso à Plataforma 3 2.1. Cadastrar-se em uma disciplina 4 2.2. Página Inicial do Curso 5 3.
Leia mais4- PROJETO DE BANCO DE DADOS
4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4 - Empregar a técnica da modelagem de dados no projeto de banco de dados. OBJETIVOS OPERACIONAIS Ao final desta unidade o aluno será capaz de: 4.1 - Definir
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisPADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ
PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ Janeiro 2010 Sumário de Informações do Documento Tipo do Documento: Referência Título do Documento: Padrão para Monitoramento
Leia maisAlgoritmos e Programação Parte Teórica
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte Teórica Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisO Gerenciamento de Documentos Analógico/Digital
Tipos de GED: Document imaging Document management Document Imaging / Document Management O Gerenciamento de Documentos Analógico/Digital Mundo analógico Criação Revisão Processamento Arquivo Mundo digital
Leia maisCENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO AMAZONAS - CIESA CENTRO DE PROCESSAMENTO DE DADOS CPD MANUAL DE UTILIZAÇÃO DO MOODLE 2.
CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO AMAZONAS - CIESA CENTRO DE PROCESSAMENTO DE DADOS CPD MANUAL DE UTILIZAÇÃO DO MOODLE 2.8 PERFIL ALUNO Versão 1.0 2015 CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR
Leia maisIntrodução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização
Prof. Ricardo José Pfitscher Material elaborado com base em: José Luiz Mendes Gerson Volney Lagemann Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento
Leia maisAutoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisPortal do Projeto Tempo de Ser
Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5
Leia maisUma visão mais clara da UML Sumário
Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6
Leia maisUNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.
UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor. Modelo Cliente/Servidor Por HIARLY ALVES Fortaleza - CE Apresentação. O mais famoso tipo de arquitetura utilizada em redes de computadores
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisMauricio Barbosa e Castro
Mauricio Barbosa e Castro A interação homem-computador está muito relacionada com o processo de projeto, provendo soluções que levam em consideração todas as restrições e requisitos. O aspecto de projeto
Leia maisDiagrama de Estrutura Composta
Diagramas da UML Diagrama de Estrutura Composta Diagrama de Casos de Uso Indicação: Análise de Requisitos Permite descobrir os requisitos funcionais do sistema Fornece uma descrição clara e consistente
Leia maisIntrodução à Engenharia de Computação
Introdução à Engenharia de Computação Tópico: O Computador como uma Máquina Multinível (cont.) José Gonçalves - LPRM/DI/UFES Introdução à Engenharia de Computação Máquina Multinível Moderna Figura 1 Máquina
Leia mais3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações
34 3 Um Modelo de Operações para a web semântica 3.1. Modelo de Operações As classes do Modelo de Operações representam a definição de como deve ser uma operação em uma aplicação, ou seja, quais os valores
Leia maisCom metodologias de desenvolvimento
Sociedade demanda grande quantidade de sistemas/aplicações software complexo, sistemas distribuídos, heterogêneos requisitos mutantes (todo ano, todo mês, todo dia) Mas, infelizmente, não há gente suficiente
Leia maisCarga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java
Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java 1 Objetivo: O aluno deverá adquirir capacidades e habilidades
Leia maisSoluções via.net para otimização de processos paramétricos com Autodesk Inventor.
Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Michel Brites dos Santos MAPData A parametrização quando possível já é uma forma de otimizar o processo de criação na engenharia.
Leia maisc. Técnica de Estrutura de Controle Teste do Caminho Básico
1) Defina: a. Fluxo de controle A análise de fluxo de controle é a técnica estática em que o fluxo de controle através de um programa é analisado, quer com um gráfico, quer com uma ferramenta de fluxo
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisCurso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP
Conceitos RUP RUP, abreviação de Rational Unified Process (ou Processo Unificado da Rational), é um processo de Engenharia de software criado pela Rational Software Corporation(a qual foi incorporada pela
Leia maisBanco de Dados Orientado a Objetos
Banco de Dados Orientado a Objetos MODELAGEM, ANÁLISE, PROJETO e CLASSIFICAÇÃO Interação combinando lógica, através de objetos que contém os dados. Estes divididos conforme seus tipos e métodos (classe),
Leia maisAnálise e Projeto Orientado a Objetos
Análise e Projeto Orientado a Objetos Linguagem UML Modelagem Estrutural Modelagem Estrutural Anderson Belgamo Classes Definição: uma classe é uma descrição de um conjunto de objetos que compartilham os
Leia maisEduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 10 Modelagem de atividades Qualquer um pode escrever código que um computador pode entender.
Leia maisINTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Leia maisDiretrizes de Qualidade de Projetos
Diretrizes de Qualidade de Projetos Versão 1.5 MAPA/SE/SPOA/CGTI, 2012 Página 1 Histórico de Revisão Data Versão Descrição Autor 15/01/2012 1.0 Criação do Artefato Pérsio Mairon 10/03/2012 1.1 Inclusão
Leia maisSISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software
Leia maisOBJETIVO VISÃO GERAL SUAS ANOTAÇÕES
OBJETIVO Assegurar a satisfação do cliente no pós-venda, desenvolvendo um relacionamento duradouro entre o vendedor e o cliente, além de conseguir indicações através de um sistema de follow-up (acompanhamento).
Leia maisOrientação a Objeto e UML Questões 2014 Prof. Felipe Leite
Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação
Leia maisITIL v3 - Operação de Serviço - Parte 1
ITIL v3 - Operação de Serviço - Parte 1 É na Operação de Serviço que se coordena e realiza as atividades e processos necessários para fornecer e gerenciar serviços em níveis acordados com o usuário e clientes
Leia maisA construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da
6 Conclusões No âmbito do framework teórico da Engenharia Semiótica, este trabalho faz parte de um esforço conjunto para desenvolver ferramentas epistêmicas que apóiem a reflexão do designer durante o
Leia maisBoletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema
Boletim Eletrônico de Recolhimento Manual do Sistema Versão 1.2 Junho / 2013 Sumário 1. Introdução... - 3-2. O Sistema BOLETIM ELETRÔNICO DE RECOLHIMENTO... - 3-3. Pré-requisitos... - 3-4. Primeiro Acesso...
Leia maisATENAS: Um Sistema Gerenciador de Regras de Negócio
1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira
Leia maisTópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.
Engenharia de Software Aula 06 Tópicos da Aula Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 26 Março 2012 Funcionais e não funcionais De usuário e do Engenharia de Estudo
Leia maisComputador Digital Circuitos de um computador (Hardware)
Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções
Leia maisAtenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2.
Atenção ainda não conecte a interface em seu computador, o software megadmx deve ser instalado antes, leia o capítulo 2. Interface megadmx SA Firmware versão 1, 2 e 3 / software megadmx 2.000 (Windows/MAC
Leia maisUML Itens Estruturais - Interface
Itens Estruturais - Interface Coleção de operações que especificam serviços de uma classe ou componente Descreve o comportamento visível externamente Raramente aparece sozinha. Em geral vem anexada à classe
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia maisGuia rápido de criação e gestão de um espaço no SAPO Campus
Guia rápido de criação e gestão de um espaço no SAPO Campus O SAPO Campus é uma plataforma online, disponível em http://campus.sapo.pt, que permite a comunicação e a colaboração entre membros de uma Instituição
Leia maisFigura 5 - Workflow para a Fase de Projeto
5. Fase de Projeto A Fase de Projeto caracteriza-se por transformar as informações modeladas durante a Fase de Análise em estruturas arquiteturais de projeto com o objetivo de viabilizar a implementação
Leia maisTechProf Documento de Arquitetura
TechProf Projeto SuporteProf Versão 1.0 15 de junho de 2016 Responsáveis: Adelson Santos de Melo Filho, Edvaldo Nicolau da Silva, Moisés Luis da Silva Histórico de Revisões Data Versão Descrição Autor
Leia maisTeste de Software Parte 1. Prof. Jonas Potros
Teste de Software Parte 1 Prof. Jonas Potros Cronograma Verificação e Validação Teste de Software: Definição e Conceitos Técnicas de Teste Fases de Teste Processo de Teste Automatização do Processo de
Leia maisAula 4 Estatística Conceitos básicos
Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a
Leia maisCADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário
CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:
Leia mais