APRESENTAÇÃO E COMPREENSÃO DO ARTIGO. O Que Ele Quer Estabelecer  Discutir “modularização” como mecanismo de aprimoração de um sistema enquanto encurta.

Slides:



Advertisements
Apresentações semelhantes
Python: Funções Claudio Esperança.
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Métodos, Parâmetros, Argumentos e Contratos
Projeto 1.
Projeto Arquitetural de Software Orientado a Aspectos
Padrões GoF – Factory Method
Uma Introdução a Detectores de Defeitos para Sistemas Assíncronos
Algoritmos Escher.
1.Consciência (Chalmers,1997)
Dado X Informação Dado é um elemento que mantém a sua forma bruta (texto, imagens, sons, vídeos, etc.), ou seja, ele sozinho não levará a compreender.
Tecnologia da Informação Orientação a Aspectos
Complexidade de Algoritmos
Linguagem C Funções.
Planejamento Estratégico Escola de Negócios
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Plano de Projeto de Software
A implementação de avaliação formativa na sala de aula
Princípios e Conceitos de Software(v2)
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
IHC Interação Humano-Computador
Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH Turma 02 EACH – USP.
Software de Rede Willamys Araújo.
FORMAÇÃO DE AUDITORES INTERNOS RONALDO COSTA RODRIGUES
Aula prática 13 Orientação a Objetos – C++ Parte 1
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Conceitos.
Expansão dos Casos de Uso
Modularização de um programa em C
Sistemas Distribuídos
Metolodogia de Desenvolvimento de Data Warehouse
Seria maravilhoso se jamais tivéssemos que lidar com conflitos.
MapReduce Conceitos e Aplicações
Diagramas de Atividade
Aspect Oriented Programming (AOP)
Aprendizagem-Ação no Projeto CSPS – ENAP “Desenvolvimento de Capacidade de Governança”
Programação Orientada à Objetos
Prof: Leandro Maranim Dei Santi Prof. Eduardo Rossit Paiossin
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
SISTEMAS DISTRIBUIDOS Aula 4
Documentação de Software
Estruturas de Dados Aula 8: Tipos Abstratos de Dados 30/04/2014.
Processos Empresariais
Sistemas Operacionais
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Cooperação na Prática Já sabemos o que é mesmo cooperação?
Monitoria IP ~if669 Garbage Collection e pacotes.
Aula01 – Técnicas de Programação II
Trabalho de Engenharia de Software II
Técnicas de avaliação de Interfaces Alunos: Joel Levandowski Ranieri R. Tremea Prof ª.:Cristina P. dos Santos URI - Universidade Regional Integrada do.
Trabalho de 10 pontos 06/05/2002Grupos de, no máximo, quatro (4) alunos com apresentação prevista para o dia 06/05/2002; Na apresentação, os grupos serão.
Engenharia de Software
Aula Prática 3 Funções Monitoria Introdução à Programação.
IEEE Melhores Práticas para Descrições de Projeto de Software (DPS)
8 Click Nunca se justifique para ninguém.
Aula Prática 13 Orientação a Objeto Monitoria
Expansão dos Casos de Uso
Diferenças entre as Técnicas de Estimativa: Análise por Ponto de Função e Stories Points Aluna: Fabiana Leonel Professores: Alexandre.
Como Fazer e Usar Fluxogramas
Fernando Feltrin Criando uma revista Fernando Feltrin
Erton W. Vieira Metodologias Ágeis, Qualidade de Software e Design Centrado no usuário: Pontos de Interação Erton W. Vieira.
PROJETO 2: ALUNOS UFRPE Parte 1. Dividindo para conquistar 1. Interação com o usuário 2. Leitura e escrita em arquivos 3. Regra de negócio para executar.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Lógica de Programação – Forbellone / Eberspacher Lógica de Programação Capítulo 6 Modularizando Algoritmos.
Professor: Gerson Leiria Nunes.  Introdução  Filtro IIR  Forma direta  Forma direta implementada.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

APRESENTAÇÃO E COMPREENSÃO DO ARTIGO

O Que Ele Quer Estabelecer  Discutir “modularização” como mecanismo de aprimoração de um sistema enquanto encurta o tempo utilizado em desenvolvimento.  Demonstrar duas maneiras de resolução de um problema de design de sistema e demonstrar como uma é mais eficaz que a outra.  Discutir critérios usados para chegar em tal decomposição.

Introdução  Em um certo paragrafo sobre a filosofia de programação modular encontrado no livro de design de de sistemas por Gouthier e Pont, afirma sobre aspectos de que a segmentação bem definida em um projeto certifica modularidade no sistema, e que cada tarefa formava um modulo distinto e separado, seguindo de o sistema ser mantido em forma modular.  Mas usualmente nada é comentado sobre critéria para usar em dividir sistemas em módulos.

Breve Relatório de Situação  Avanços na época na area de programação modular eram técnicas de códigos e montadores.

Benefícios Esperados de Programação Modular  Gerencial  Flexibilidade  Compreensibilidade

Exemplo com KWIC  Utilizamos um sistema pequeno de KWIC (KeyWord in Context) como uma maneira de demonstrar dois métodos de decomposição, Um convencional e um inconvencional.

Primeiro Método  Módulo 1 - Entrada  Módulo 2 - Circular Shift  Módulo 3 - Alfabetização  Módulo 4 - Sáida  Módulo 5 - Controle Mestre

Segundo Método  Módulo 1 - Armazenamento de Linha  Módulo 2 - Entrada  Módulo 3 - Circular Shifter  Módulo 4 - Alfabetizador  Módulo 5 - Saída  Módulo 6 - Controle Mestre

Comparição entre as duas  Geral  Os dois métodos funcionam, o primeiro é convencional e o segundo é usado com sucesso em um projeto de classe.  Inconstância  Os métodos ainda iram ter decisões de design questionáveis e que podem mudar dependendo da circunstância.

 Desenvolvimento independente  O primeiro metodo possui interfaces entre os módulos são formatos com certa complexidade, e como representam decisões de design são altamente importantes, com o seu desenvolvimento sendo uma grande parte do desenvolvimento do módulo, precisando de esforço conjunto dos vários grupos desenvolvedores.

 O segundo método as interfaces são mais abstratas, focando mais em nomes de funções e nûmeros e tipos de parâmetros, o que são decisões mais simples e o desenvolvimento independente começa mais cedo.

 Compreensibilidade  O primeiro necessita de compreensão dos módulos alfabetizador, circulator shifter, e entrada para que o módulo saída seja entendido, nesse particular caso o autor acredita que para entender ele, precisa entender como um todo, algo que subjetivamente não parece verdade no segundo.

A Critéria  O primeiro método utiliza uma decomposição focada em fazer cada grande passo no processamento um módulo, sendo convencional, se pensa em um usar um fluxograma e então ir atrás de implementação detalhada.  O segundo método foca em “esconder informações”, módulos não correspondem mais a passos no processamento,como o módulo de Armazenamento de Linha ser usado em quase toda ação pelo sistema, pois todo módulo do segundo método é caracterizado por ter seu conhecimento de alguma decisão de design escondida de todos os outros.

Conclusão Com esses exemplos, demonstramos que quase sempre é incorreto começar uma decomposição de um sistema em módulos pela base de um fluxograma, e que ao invés disso, comece com uma lista de decisões de designs difíceis ou que tem mais chance de mudar, com módulos designados para esconder tal tipo de decisão dos outros.