Curso: Administração de Sistemas de Informação e Redes Duração: 90 minutos Período: Pós-laboral Data: 11.04.2019 3° Ano Académico Semestre: Segundo Primeira Avaliação: Engenharia de Software. Leia atentamente as questões e responda com clareza.
Guião de Correcção
1. a)Defina Software. Quais são as diferenças entre o desenvolvimento dum produto de
Software genérico e o desenvolvimento dum produto de Software genérico?(2.0 V) R. Software são programas de computador, estruturas de dados e documentação associada. Enquanto no desenvolvimento dum produto de Software genérico a identificação e especificação das necessidades (requisitos) fica a cargo da organização ou equipa de desenvolvimento, no desenvolvimento dum produto de Software personalizado esta responsabilidade fica a cargo do cliente. Neste último caso o Software é proprietário, todavia para o desenvolvimento de Software genérico este tem por finalidade uma generalidade de clientes 2. Baseado na definição de Stackholders:(2.5 V) a. Sugira quem podem ser os “Stackholders” num sistema de registo de estudantes numa universidade. R : Estudantes, Secretárias(os), directores das faculdades. b. Explique por que é inevitável que os requisitos de diferentes “Stackholders” sejam, de alguma maneira, conflituosos. R: falta do conhecimento da área por parte do analista de requisito;factores políticos podem influenciar. O próprio usuário final podem não saber explicar com exactidão o que pretende ou explicar o mesmo assunto de maneiras diferentes, considerando a falta de entendimento no assunto. 3. A sua empresa foi contratada para fazer um Software para um cliente. Considerando os tipos de modelo de ciclo de vida de projectos. Qual é o melhor modelo de ciclo de vida para o caso baixo? a. Este cliente possui os requisitos do produto que deseja muito bem especificados (0.75 V)R: Modelo Cascata b. Ele deseja recber o produto em etapas, i.e., deseja ver diferentes versões do
Bom Trabalho! Docente: Duarte Bila
produto, e não somente o produto já finalizado no prazo final de entrega.(0.75 V) R: Modelo Incremental c. Sua empresa não está acostumada a desenvolver produtos para este domínio, por tanto obter feedback do cliente é importante, e cuidado com os riscos no desenvolvimento do produto.(0.75 V) R: Modelo Espiral d. O prazo de entrega do produto é de 80 dias.(0.75 V) R: Modelo em RAD
4. Uma das prácticas do XP é:
Código colectivo: O código fonte não tem dono e ninguém precisa ter permissão concedida para poder modificar o mesmo. O objectivo com isto é fazer a equipe conhecer todas as partes do sistema. Planning Game:O desenvolvimento é feito em iterações semanais. No início da semana, desenvolvedores e cliente reúnem-se para priorizar as funcionalidades. Essa reunião recebe o nome de Jogo do Planeamento. Nela, o cliente identifica prioridades e os desenvolvedores as estimam. O cliente é essencial neste processo e, assim, ele fica sabendo o que está acontecendo e o que vai acontecer no projecto. Como o escopo é reavaliado semanalmente, o projecto é regido por um contrato de escopo negociável, que difere significativamente das formas tradicionais de contratação de projecto de software. Ao final de cada semana, o cliente recebe novas funcionalidades, completamente testadas e prontas para serem colocadas em produção. Stand Up meeting: Reuniões em pé para não se perder o foco nos assuntos de modo a efectuar reuniões rápidas, apenas abordando tarefas realizadas e tarefas a realizar pela equipe. a) Argumente!(2.25 V) 5. Por que razões a documentação e os contractos não são fundamentais nos Processos Ágeis?(1.5 V) Resposta: Nos processos ágeis, a documentação e os contractos são secundários devido ao facto destas metodologias priorizarem o elemento humano e as interações entre eles, deve-se também a preocupação com o Software executável, com a colaboração do cliente e as respostas rápidas a mudanças. Outro facto é que as metodologias que priorizam a documentação e contractos tendem a consumir mais recursos nos seus processos de produção de Software. 6. Imagine que faça parte de uma equipe de desenvolvimento de um software de gestão documental para uma multinacional do ramo de extracção de minérios. Qula seria a sua sugestão em termos de técnica de recolha de requisitos? Justifique a tua resposta.(2.25 V) R. Um requisito deve ser negociável entre os interessados daí, sugere-se a entrevista, questionário, exibição de vídeos ou áudio, protótipos, Workshops ou Brainstorming. Descreva uma das técnicas … 7. Para o desenvolvimento de um sistema de supermercado, mais especificamente para a conferência de produtos em estoque e prateleira. a. Cite quatro requisitos funcionais e outros não funcionais.(2.0 V)R: Requistos funcionais: registar o produto; produzir relatórios; cadastrar o cliente; informar
Bom Trabalho! Docente: Duarte Bila
sobre o estoque, registar o fornecedor, etc. Requisitos não funcionais: Tempo de resposta menos de 5 segundos; Aplicação em linguagem Java ou VB.Net; Sistema Operativo: Windows 8; Correr em browsers de Windows e Mozilla Firefox , tempo do “shutdown” não mais que 10 segundos; autenticação privilengiada de acordo com as tarefas dos usuários do Sistema, etc
b. Apresenta o diagrama de casos de uso correspondente. (3.0 V)R: Casos de Uso
em consideração: Comprar produto, verificar o estoque, registar o produto, cadastrar o cliente/fornecedor; actores: admin, o caixa(funcionário); 8. Qual a diferença entre desenvolvimento evolucionário e desenvolvimento incremental? (1.5 V)
Desenvolvimento Evolucionário Desenvolvimento Incremental
Apresenta caracteristicas que Libera uma serie de versões; possibilam desenvolver versões Ofereçe progressivamente maior cada vez mais completas do funcionalidade para o cliente software; para cada incremento entregue; Faz progresso através de O software evolui ao longo do tentativas sucessivas de tempo de acordo com o feedback refinamento; do usuário; As definições dos requisitos são Especificação, desenvolvimento e realizados junto com o validação ocorrem ao mesmo desenvolvimento do software tempo para cada um dos incrementos do software que estão em construção. Pega o todo e refina até chegar Adiciona partes ao projecto até no projecto final; formar o todo Não há necessidade de entregar Necessiaramente tem-se entrega o software a cada iteração do software no término duma iteração