Exercícios Engenharia De Software
Dissertações: Exercícios Engenharia De Software. Pesquise 862.000+ trabalhos acadêmicosPor: linec • 16/3/2015 • 1.743 Palavras (7 Páginas) • 393 Visualizações
01 - O que é ES? Devemos sempre usá-la?
Segundo Fritz Bauer ES é o uso sólido dos princípios de engenharia para obter um software que funcione em máquinas reais de forma eficiente. Segundo descrição no Wikipédia, é uma área do conhecimento da computação voltada para especificação, desenvolvimento e manutenção de sistemas.
Logo, concluo que Engenharia de Software é a área responsável por desenvolvimento de softwares ou sistemas para máquinas computacionais, cujo objetivo não é apenas o funcionamento, mas que os mesmos sejam desenvolvidos de forma a atender as necessidades dos usuários. E que não devemos utilizá-la sempre. Quando um sistema tiver baixo custo, não se justifica gastar um valor alto com a ES.
http://pt.wikipedia.org/wiki/Engenharia_de_software
02 - O que é processo de software? Que atividades podem estar presentes em um processo?
Segundo Sommerville é o conjunto de atividades e resultados associados que produzem um produto de software. Segundo Jalote é um conjunto de atividades, ligadas por padrões de relacionamento entre ela, pelas quais se as atividades operarem corretamente e de acordo com os padrões requeridos o resultado desejado é produzido.
Segundo Presman, Schwartz, Sommervilleas atividades presentes são: Especificação, projeto, implementação, Validação, manutenção e evolução.
Algumas atividades:
1. Especificação de Requisitos: tradução da necessidade ou requisito operacional para uma descrição da funcionalidade a ser executada.
2. Projeto de Sistema: tradução destes requisitos em uma descrição de todos os componentes necessários para codificar o sistema.
3. Programação (Codificação): produção do código que controla o sistema e realiza a computação e lógica envolvida.
4. Verificação e Integração (Verificação): verificação da satisfação dos requisitos iniciais pelo produto produzido.
03 - Descreva um outro modelo de processo de software. Quais são seus pontos fortes e fracos?
Modelo V
Variante do modelo em cascata
Utiliza testes de módulos para verificar o desenho
Utiliza testes de integração para verificar a arquitetura do sistema
Utiliza teste de aceitação para validar os requisitos
Caso surjam problemas na verificação e na validação, o lado esquerdo do V pode ser executado novamente para serem feitas as respectivas alterações.
Os requisitos podem ser examinados e as suas implicações avaliadas ainda na fase inicial do processo
Vantagens:
A fase de teste começa no início do ciclo.
A segunda fase de testes é extremamente reduzida.
Os “test plans” detalhados em cada fase do ciclo ajudam compreender melhor qual a origem do problema.
O modelo V é um standard internacional para o desenvolvimento de sistemas IT, sendo superior ao modelo cascata e ao modelo espiral no endereçamento de grandes projetos IT.
Reduz riscos de incerteza no desenvolvimento.
Desvantagens:
Continua a não ser suficientemente flexível;
É necessário maior feedback entre todas as fases do ciclo.
04 - Comente alguns problemas do modelo RAD.
Requisitos podem não se encaixar (conflitos entre desenvolvedores e clientes)
Mais difícil de acompanhar o projeto(pois não existe os marcos clássicos)
Para projetos grandes, o RAD exige recursos humanos suficientes para criar o número correto de equipes, isso implica um alto custo com a equipe.
http://pt.wikipedia.org/wiki/Rapid_Application_Development#O_RAD_deve_ser_evitado_quando
05 - Discuta as similaridades entre os modelos incremental e espiral. Como eles são conhecidos coletivamente? Cite outros modelos pertencentes à mesma classe.
Segundo Pressman os modelos evolucionários são interativos e caracterizam-se pela forma como se desenvolve versões cada vez mais completas do software. Modelo evolucionários: modelo de desenvolvimento concorrente e prototipagem.
As similaridades são devido ao fato de que ambas possuem incorporadas as técnicas do modelo em cascata, e também o fato de que todos os modelos podem incorporar as técnicas de prototipagem. Outra similaridade decorrente é que tanto o incremental quanto o espiral apresentam incrementos de software como produtos.
06 - Descreva métodos e ferramentas que podem ser usados para apoiar um processo DBC.
Alguns métodos:
Componente: Tem a ver com a seleção de componentes que pode ser usado na criação do sistema, que pode ser deum sistema já desenvolvido anteriormente.
Qualificação: Verifica até que ponto o componente reusável e se adequa no sistema.
Adaptação: Modificação dos aspetos dos componentes para se adaptar no sistema.
Composição:Integra os componentes do sistema, em uma biblioteca especializada.
Atualização: Versões antigas serão substituídas por novos componentes.
07 - Discuta qual é a melhor estrutura para um time de engenheiros de software.
Creio que o time de organização Centralizado Controlado é mais viável, pois apresentam os níveis hierárquicos bem definidos. Dessa forma os profissionais de cada área ficam mais focados e específicos na tarefa que o cabe. O que não impede a interação entre engenheiros e gerentes. Acho que é o mais sensato. Mas cada estrutura tem seus prós e contras.
08 - Qual é a importância de definir o escopo do produto e decompor o problema no início do projeto?
A definição do escopo
...