Engenharia da Programação LEIC 4º ano, 1º Semestre, ano lectivo de 2002-03 2º Exame (o exame é composto por 10 perguntas (1-10) cotadas com 1 valor cada) Data: 8 de Fevereiro de 2003 Duração Exame: 1h30 (com tolerância incluída) Nota prévia: Todas as questões devem ser resolvidas no enunciado, conforme o espaço que lhes é reservado, devendo indicar, obrigatoriamente, no topo de cada página, o seu número. Seja sucinto e conciso e não ultrapasse o espaço reservado para resposta. A avaliação pode ser resolvida a lápis. Nome: 1. (1 valor) Em termos de evolução caracterize o tipo de sistema E? Justifique com um exemplo. O sistema está embutido no mundo real e vai-se alterar quando este se alterar. A solução é um modelo dos processos abstractos que representam o mundo real. Estes sistemas estão constantemente a ser alterados. Exemplo: Um sistema de predição da saúde da economia de um país. 2. (1 valor) Enumere e defina as quatro fases de cada uma das etapas do modelo Espiral. 1.Determinar Objectivos: enumeração dos objectivos que devem ser atingidos em cada etapa. Equacionar restrições e alternativas. 2.Avaliar Riscos: análise dos riscos e controlo dos riscos. 3.Desenvolvimento e Teste: de acordo com o modelo de desenvolvimento que mais se ajuste; implementação com vista a satisfazer os objectivos. 4.Planificação: decisão sobre se continuar e plano da próxima etapa Página 1 de 6
3. (1 valor) Indique três qualidades de desenho de software presente na arquitectura da aplicação GesDis? Justifique cada uma delas -Independência: a arquitectura de camadas reduz a independência dos componentes -Inteligibilidade: os nomes têm significado e relacionam entidades do espaço do problema e do espaço da solução -Integridade: todos os componentes respeitam uma arquitectura bem definida 4. (1 valor) Descreva o estilo arquitectural interpretador. Qual a principal vantagem? A arquitectura deve possuir os seguintes elementos: - Máquina de interpretação (interpreta instruções com base no estado do interpretador e do programa) - Pseudo-programa a ser interpretado (instruções a executar) - Estado actual da máquina de interpretação - Estado actual do programa em execução A principal vantagem é poderem ser usados para construir máquinas virtuais para colmatar o fosso entre a máquina de execução esperada pela semântica do programa e a máquina de execução disponível no hardware. Página 2 de 6
5. (1 valor) Qual o objectivo do padrão de desenho Data Access Object (DAO)? Em que situações se aplica? Esquematize a sua estrutura de classes e a sua colaboração típica. Página 3 de 6
6. (1 valor) Qual a vantagem de escrever os comentários antes de codificar? Permite delinear a estrutura do programa antes de se debruçar sobre detalhes de implementação. 7. (1 valor) Indique, justificando, três requisitos não funcionais da aplicação GesDis? Segurança - Utilizadores diferentes têm previlégios diferentes Portabilidade - A aplicação deve poder correr num conjunto variado de equipamentos, desde PCs Windows a servidores UNIX. Daí o uso da plataforma Java. Usabilidade - Os utilizadores finais do GesDis têm os mais variados níveis de experiência com sistemas deste tipo. Página 4 de 6
8. (1 valor) Indique quatro regras que facilitem o sucesso de uma reunião. o objectivo seja claro os participantes estejam preparados a discussão não se afaste do objectivo as decisões sejam aplicadas após a reunião 9. (1 valor) Relacione o conceito de estereótipo UML com os modelos de domínio. Is estereótipos UML permitem acrescentar informação semântica aos elementos da linguagem UML. Esta semântica pode ser específica de um determinado domínio facilitando e tornando mais expressiva a sua modelação. Página 5 de 6
10. (1 valor) O que é a velocidade de um projecto em XP? Como se calcula? Indique dois motivos que podem levar à alteração de velocidade? O termo velocidade é usado para representar o número de casos de uso / histórias que uma equipa pode implementar numa iteração. Assume-se, como base do planeamento, que se fará numa dada semana o mesmo que se fez na semana anterior. As alterações na constituição da equipa e a identificação de casos de uso / histórias muito diferentes das anteriores pode levar à mudança da velocidade. Página 6 de 6