Mac TPOO. Ouro dos Tolos. Professor: Fábio Kon. Alunos: Paulo Cheque Bernardo nusp: Renato Pelizzari da Silva nusp:

Documentos relacionados
Porque fazer o gerenciamento de riscos em um projeto é importante?

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Engenharia de Software

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

Ciclo de Vida de Sistemas de Informação

Desafios do desenvolvimento de Software (Desenvolvimento Tradicional x Desenvolvimento Ágil)

Noções do padrão MVC e DAO

Design: estrutura e estética

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Scrum e Extreme Programming

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Controle financeiro pessoal em épocas de crise. Dicas práticas para melhorar o controle financeiro pessoal

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Prof. Esp. Fabiano Taguchi

XP EXTREME PROGRAMMING. AGO106 - Gestão

Processos de software

Engenharia de Software

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

PROGRAMAÇÃO EXTREMA - XP

Padrões de Testes Automatizados. Exame de Defesa de Mestrado Paulo Cheque Bernardo Orientador: Fabio Kon DCC IME/USP 4 de julho de 2011

Software: na visão da ES

Introdução a Teste de Software

1. INTRODUÇÃO A MODELAGEM DE DADOS

Programação Extrema na Prática

Dificuldades na implantação de Métodos Ágeis

Implementando PWM por soft - um método simples. Por Renie S. Marquet reniemarquet.sites.com.br - versão

Desenvolvimento de Software de Qualidade através de Testes Automatizados

Evolução de Software e Refatoração. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 21 1

erros comuns que prejudicam a experiência do usuário

Engenharia de Software I

Processos de Software

Engenharia Software. Ení Berbert Camilo Contaiffer

Diretora de Vendas Independente Cris da Silva

Salesforce vs NetSuite

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

M V C P R O F. M E. H É L I O E S P E R I D I Ã O

Por que é importante?

Técnicas para Reutilização de Software

ENGENHARIA DE SOFTWARE

PRODUTO: Belle Software DATA: 02/06/2017. Release Notes do software Belle Software:

Dificuldades na implantação de Métodos Ágeis

Introdução à Análise e Projeto de Sistemas

Por Francisco Gonçalves Jr Engenheiro Eletricista

Análise de Sistemas. Aula 5

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

COMO CALCULAR O PARA SEU VAREJO!

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Engenharia de Software

Princípios e práticas de extremme Programming

Elaboração de uma metodologia para o desenvolvimento de interfaces com o

por parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a

Sobre a Bel. Espero que goste, Um abraço, Bel

Técnicas de Reutilização. Reutilização em Programação Orientada a Objetos. Considere três classes... Reuso de Classes.

Extreme Programming: Valores e Práticas

POR QUE CONSOLIDAR AS INFORMAÇÕES DE VENDAS DE TODAS AS CASAS DO SEU FOOD SERVICE? COM TECNOLOGIA VOCÊ SÓ TEM A GANHAR!

ENGENHARIA DE SOFTWARE O QUE SÃO TESTES? TESTES TESTES TESTES 26/08/2014. São pontuais; São previsíveis; São finitos;

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Analista de Sistemas S. J. Rio Preto

GamePlay. Tainá Jesus Medeiros. 28 de Abril de Profa Tainá Medeiros

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Trabalho de Oficina de Computação CI067

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Apresentação de empresa: qual conteúdo utilizar

PLANO DE NEGÓCIO SmartBus

1. A função DevOps, que se concentra principalmente em Produtos & Serviços:

SCC0504 Programação Orientada a Objetos Projeto

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Aula 9 Especificação de Requisitos Exercício

Circuito B4F 11º torneio 2010

Objetivo do Curso. Introdução à Interação Humano-Computador. Professora: Raquel Oliveira Prates

Exercicios para Prova Introdução a IHC: INF1403

02/10/2012 Clarindo Pádua. Avaliação de maturidade em usabilidade de organizações Produtividade do usuário.

Televisao tamanho tela emitirsom. conectarperifericos

SSC Engenharia de Software. Prof. Paulo C. Masiero

TS03. Teste de Software ESTÁGIOS DO TESTE DE SOFTWARE. COTI Informática Escola de Nerds

Documento de Requisitos do Software Tá Fazendo Quanto?

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Princípios da Engenharia de Software aula 03

A experiência da Biblioteca da FCT-NOVA com o koha. Ana Roxo José Victor do Rosário

Levantamento, Análise e Gestão Requisitos. Aula 02

Teste de Software. Roberta Coelho

10 DICAS PARA UM WEBSITE DE SUCESSO O QUE VOCÊ PRECISA SABER PARA CONSTRUIR UM WEBSITE BEM SUCEDIDO!

4 motivos para contratar um arquiteto - Alexandre Gonçalves

PLANO DE NEGÓCIO FitLife

Primeira Parte do Trabalho Prático (Parte I) Valor: 30% Descrição do arquivo de dados

ESPECIFICAÇÃO DO TRABALHO DA DISCIPLINA DE ANÁLISE DE SISTEMAS ORIENTADOS A OBJETOS DO CURSO DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE

Setembro de P90050

Problemas na Manutenção

BOINC + R: Executando rotinas de

O que te dá brilho nos olhos?

4 relatórios essenciais do Google Analytics para alavancar a estratégia de crescimento seu blog. VIVER DE BLOG Página 1

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

Transcrição:

Mac 413 - TPOO PlopIME 2005 Ouro dos Tolos Professor: Fábio Kon Alunos: Paulo Cheque Bernardo nusp: 3671381 Renato Pelizzari da Silva nusp: 3680523

Nome / Classificação Ouro dos Tolos / Padrão de análise Interação programador-cliente Intenção e objetivo Ouro dos Tolos surgiu mediante a análise da reação de pessoas (em geral clientes) que não estão diretamente ligadas à área da computação e acabam não conseguindo avaliar precisamente a evolução de um projeto. Muitas vezes é necessário um apelo visual maior do software para que essas pessoas consigam digerir de maneira adequada essa evolução. A proposta é conseguir encontrar um ponto de equilíbrio entre desenvolvedores e clientes na hora de mostrar como anda o progresso do projeto e quais funcionalidades já foram implementadas. Motivação São inúmeros casos em que este padrão pode ser útil. Suponha que você tenha sido contratado por uma empresa de estacionamento para desenvolver um sistema que controle horário de chegada e partida de carros, assim como o preço que será cobrado pelo serviço prestado. O dono do estacionamento que está te pagando não entende nada de programação e não possui a menor idéia de como o sistema funcionará, apenas deseja tê-lo em seu estabelecimento. Dois problemas opostos podem acontecer: - Revelar uma versão inicial do sistema funcionando apenas utilizando um console em modo texto pode fazer com que seu cliente pense que você não fez grandes avanços e comece a desconfiar das qualidades do seu serviço. Isso ocorre, pois a idéia de um projeto bem feito, para os leigos, está intimamente associada a uma interface gráfica amigável. As conseqüências dessa interpretação errônea geram frustrações não só no cliente, mas também no programador que terá seu trabalho menosprezado e ficará mais desmotivado. - Mostrar uma interface gráfica amigável, mas sem muitas funcionalidades também pode causar uma falsa impressão ao cliente. Ele pode até ficar satisfeito, mas corre o risco dele achar que o sistema é simples demais e questionar sobre o preço cobrado pelo desenvolvimento. Ou ainda se entusiasmar e solicitar algumas funcionalidades extras que antes não estavam nos seus planos.

Aplicabilidade Ouro dos Tolos é indicado principalmente para dois casos: - Quando o cliente não possui conhecimento suficiente na área de computação para conseguir acompanhar a evolução de um projeto sem o auxílio de uma interface mais amigável. - O programador esquece que o foco do desenvolvimento do projeto deve ser o usuário e não somente pessoas, envolvidas na área de computação, capazes de entender um sistema de maneira mais profunda. Usando o Ouro dos Tolos é possível evitar alguns casos de possíveis má interpretações do cliente com relação a capacidade do desenvolvedor e a evolução do seu trabalho, procurando ser uma maneira de manter o equilíbrio durante todo o projeto na questão de "funcionabilidade X usabilidade". Estrutura

Implementação: Durante a criação de um software, é comum o desenvolvimento do tipo bottomup, começando por funcionalidades mais básicas e ir subindo de nível através de camadas até chegar no nível superior de interface com o usuário. No entanto, quando o cliente não tiver possibilidade de compreender o que foi feito nas camadas inferiores, é necessário alterar a metodologia da programação. Antes mesmo de começar a trabalhar nas funcionalidades baixo nível do projeto, deve-se ter em mente uma possível interface gráfica final para o software. Com isso tudo analisado, é simples criar versões gráficas do sistema na qual a parte visual corresponda com o estado atual das camadas já implementadas. Dessa maneira, o cliente conseguirá acompanhar o progresso do projeto de maneira precisa, pois o seu software já parecerá mais semelhante aos que uma pessoa leiga tem contato usualmente. Contudo, este padrão, se não usado e aplicado corretamente, pode trazer problemas graves à empresa e aos programadores, como perda de tempo e dinheiro. Por isso deve-se avaliar com cuidado quais devem ser as características (simples, flexível, rápida, etc) da visão final do projeto. Duas situações desastrosas podem ocorrer: a) Durante todo o projeto não há nenhum planejamento prévio da estrutura da interface com o usuário. Sem uma visão mais ampla, a tendência ao longo do tempo é ir aglutinando novas funcionalidades na interface de maneira desastrada, resultando num código com o anti-padrão The Blob. Portanto, para consertar este problema, muitos trechos já implementados poderão ter que ser reescritos ou até mesmo reestruturados. b) Há uma preocupação desnecessária em programas muito simples, na utilização de ferramentas ou de padrões complexos como o MVC e não há um retorno satisfatório, pois o grande potencial destas opções não é explorado pelo projeto. Conseqüências Ao utilizar o Ouro dos Tolos, como o desenvolvedor deve ter em mente que deve criar uma interface gráfica amigável que evolui junto com as funcionalidades do projeto, muitos problemas serão evitados e as conseqüências disso podem ser pesadas no ponto de vista do desenvolvedor e do cliente. Desenvolvedor: - Pensar logo no início em uma interface para a apresentação de seu sistema possibilita uma visão mais ampla do que deve ser realizado.

- Pode ser necessário desenvolver várias versões da interface, de acordo com as necessidades do projeto. - O tempo de desenvolvimento será maior. - Receberá um feedback mais apropriado do cliente que conseguirá entender com mais nitidez como tudo está funcionando. - Dificulta o cliente em mudar de idéia sobre os requisitos do sistema no fim do projeto. - Evita com que os desenvolvedores fiquem desmotivados ao ouvirem uma crítica infundada de quem não compreende um sistema de computação. Cliente: - Terá uma idéia mais apropriada de como seu projeto evoluiu. - Não terá uma imagem errada sobre o seu serviço e tende a ficar satisfeito ao longo de todo o projeto. - Considerará te contratar novamente, caso necessário. Usos conhecidos O padrão Ouro dos Tolos pode ser usado associado à metodologia de desenvolvimento de software XP, onde periodicamente a equipe entrega versões do programa para os clientes testarem e retornarem suas impressões. Para que estas sejam as mais coerentes possíveis de acordo com o estado atual do seu programa, é necessário que ele seja fácil de usar. Outro uso conhecido está no ato de disponibilizar softwares incompletos ou em versão beta na internet para os usuários testarem. A partir do feedback dos usuários, conseguimos avaliar melhor o software e descobrir quais são os fatores mais importantes para o público alvo e também verificar se o software está atraente o suficiente para se tornar popular. Isso não seria possível se durante o processo de desenvolvimento não houvesse a preocupação de integrar funcionabilidade com usabilidade. Padrões relacionados O padrão arquitetural MVC que separa o conteúdo do programa da sua visão, torna o sistema bem flexível para as críticas do cliente e facilita a atualização do software durante o progresso da implementação.