Engenharia de Software Revisão Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Escolha a pergunta • Introdução – – – – – 1 2 3 4 5 • Requisitos – – – – – 1 2 3 4 5 • Análise e Projeto – – – – – – – – – – – – – – – 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Introdução 1 O que é Engenharia de Software? É a disciplina que preocupa-se com problemas inerentes ao desenvolvimento de software com o objetivo de produzi-lo ao um custo baixo e com qualidade Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Introdução 2 Cite uma vantagem do modelo de ciclo de vida em Cascata em relação ao Incremental. É simples e fácil de aplicar, facilitando o planejamento Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Introdução 3 Cite três vantagens do modelo de ciclo de vida Incremental em relação ao modelo em Cascata. Antecipa a redução de riscos, O progresso é medido de forma mais concreta, testes de integração são realizados desde o início, de forma contínua Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Introdução 4 Como funciona o modelo de ciclo de vida Programação Exploratória? Desenvolvimento da primeira versão o mais rápido possível, modificações sucessivas até que o sistema seja considerado adequado, após o desenvolvimento de cada uma das versões o sistema é mostrado para os usuários para que os mesmo realizem comentários. Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Introdução 5 Como funciona o modelo de ciclo de vida Prototipagem Descartável? A partir de requisitos vagamente entendidos desenvolve-se um protótipo de sistema para o usuário utilizar, onde futuramente o software será reimplementado. Com isso será feito um entendimento melhor dos requisitos, há uma definição da interface e também a viabilidade do projeto para o Gerente. Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Requisitos 1 Por que vale a pena, em termos econômicos, investir mais tempo na fase de Requisitos, ao invés de investir tudo na fase de Testes, que é quando o sistema propriamente dito será avaliado? Pois é mais barato realizar uma mudança na fase de levantamento de requisitos do que na faze de teste, onde esse requisito já foi implementado Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Requisitos 2 O que são requisitos funcionais? Cite 3 exemplos de requisitos funcionais de um sistema de biblioteca. São serviços que o sistema deve prover, como o sistema deve agir a determinadas entradas e como o sistema deve se comportar em determinadas situações Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Requisitos 3 O que são requisitos não-funcionais? Dê 2 exemplos. São características ou restrições aos serviços ou funções oferecidas pelo sistema Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Requisitos 4 Por que o requisito não-funcional abaixo não está bem especificado? Como ele poderia ser melhorado?“O tempo de resposta da operação deve ser muito curto.” Ele está errado pois esse requisito não funcional não pode ser medido. O correto deveria ser “O tempo de resposta da operação deve ser de 100ms” Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Requisitos 5 Cite duas habilidades necessárias para o perfil de um bom engenheiro de requisitos. Habilidade de entender o ambiente do cliente/usuário; Habilidade de lidar com problemas complexos; Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 1 O que significa dizer que os componentes de um sistema devem ser fortemente coesos? Quais os benefícios que essa característica traz para o sistema? Os componentes implementam uma única função Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 2 O que significa dizer que os componentes de um sistema devem ser fracamente acoplados? Quais os benefícios que essa característica traz para o sistema? Isso ocorre quando há pouca força das interconexões dos componentes. Mudanças em um componente dificilmente afetará um outro componente Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 3 Que qualidades de um bom projeto de software contribuem para a sua adaptabilidade? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 4 Você está desenvolvendo um sistema que precisa interagir com um software de outro fabricante. Como o sistema pode ser projetado para diminuir a dependência (acoplamento) em relação a esse software específico? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 5 O que é Arquitetura de Software? Define o sistema em termos de componentes computacionais e interações entre tais componentes Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 6 Por que são necessárias diferente visões para descrever a arquitetura de um software? Pois cada visão é uma parte detalhada do todo Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 7 Como a arquitetura de software ajuda na tomada de decisões técnicas e gerenciais do projeto? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 8 Como a arquitetura de software ajuda na redução de riscos do projeto? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 9 Num projeto orientado a objetos, qual a diferença entre comunicação síncrona e comunicação assíncrona entre objetos? Enquanto o objeto espera uma resposta e executa outras operações. Enquanto ele espera uma resposta ele não faz nada Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 10 É necessário especificar as interfaces para que os objetos e outros componentes possam ser projetados em paralelo, considerando a interface já oferecida. Como a especificação de interfaces permite que componentes sejam desenvolvidos em paralelo sem gerar problemas de integração entre eles? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 11 Considerando a frase: “Os objetos ocultam informações e estados, limitam o acesso e se comunicam entre si”, explique como os objetos podem ser projetados para que se comuniquem entre si e, ao mesmo tempo, ocultem e limitem acesso a informações de estado Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 12 O que é um sistema de tempo real e no que o projeto de um sistema desse tipo difere do projeto de um sistema comum? Tempo real o sistema responde em tempo real aos estímulos externos Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 13 Quais os benefícios do desenvolvimento baseado em reuso? Cite pelo menos 3. Agilidade no desenvolvimento, baixo acoplamento, e geralmente o componente foi testado Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 14 Cite 2 possíveis problemas do desenvolvimento de sistemas com base em COTS? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Análise e Projeto 15 O que são, em um sistema de tempo real, os sensores e os atuadores? Voltar Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho