O "Jogo das Equacoes" (JEQ) serve como contexto para a modelagem de software por "responsabilidades de objetos". Ele faz parte de uma serie de ensaios realizados ao longo da disciplina de programacao do curso de Ciencia da Computacao. A ideia e que o jogador informe os coeficientes "a" e "b" de uma equacao de 2o grau e solicite o calculo das suas raizes. Se elas forem reais e maiores do que zero, o jogador ganha a partida; perdendo, em caso contrario. O coeficiente "c" sera aleatoriamente gerado no intervalo de 1 a 1000, inclusive. Quais sao os requisitos de uma aplicacao para esse jogo? Qual a sua arquitetura? Quais as classes dos objetos da aplicacao?Requisitos do JEQA Tecnica ICA (Interface Com o Ambiente) ajuda na etapa de identificacao de requisitos de negocio. Para o JEQ, 12 requisitos de negocio podem ser identificados, sendo o RF1 ("Calcular o resultado da jogada a partir dos coeficientes 'a' e 'b'") aquele que caracteriza a essencia do JEQ.Requisitos e Alocacao de ResponsabilidadesPara cada requisito (promessa feita pela aplicacao para o usuario), devera existir um objeto (simples ou complexo) com a responsabilidade de ajudar a aplicacao no seu cumprimento. Assim, no caso do RF1, devera existir um objeto responsavel por ajudar a aplicacao a calcular o resultado da jogada. Qual seria a classe de tal objeto? O "Principio do Napoleao" e uma tecnica util nesse ponto. A pergunta: "Qual objeto deve ser responsavel por calcular o resultado da jogada do JEQ?" Resposta: um objeto da classe JEQ!Mas, para que seja possivel realizar o calculo, e preciso que tal objeto conheca os valores dos coeficientes "a", "b" e "c". Os dois primeiros sao informados pelo jogador. O valor de "c", entretanto, deve ser gerado aleatoriamente. Ou seja, devera existir uma classe de objetos com a responsabilidade de gerar o valor do coeficiente "c". Qual objeto deve ser responsavel por gerar o coeficiente de uma equacao para o JEQ? Perspectivas para avaliar um ambiente de aprendizagem (How People Learn: Bransford, Brown, & Cocking, 1999):ConhecimentoAprendizComunidadeAvaliacaoTLTAprendizagem com simulacoesChanging High EducationTeaching to Variation in LearningThe Role of Language Paradigms in Teaching Programming Teaching ProgrammingTeach Programming Principles, Not "Tools and Tips" INTRODUCAOSeguindo a proposta do Unified Process, um projeto de desenvolvimento de software deve se preocupar com dois importantes aspectos: (i) a engenharia do software (tudo aquilo relacionado com a fabricacao e o software -- processo e produto) e (ii) a gerencia do projeto (tudo aquilo que se refere a infra-estrutura necessaria para a fabricacao).Em cada determinado projeto, a engenharia do software deve ser conduzida de acordo com um processo de trabalho. Ao longo dos anos, diversos modelos de processos foram investigados e experimentados. Tres grandes categorias de modelos de processos podem ser identificadas: (i) lineares, como o Waterfall, (ii) espiral, como o Spiral, (iii) iterativos e incrementais, como o Unified Process. Recentemente, percebeu-se que aqueles modelos de processos da categoria (iii) apresentavam melhores resultados finais (conseguia-se fabricar o software do projeto com uma alta taxa de sucesso, quando comparada as demais categorias de processos).PROJETO DE SW DE JOGOSA realizacao do projeto de