Engenharia de Software
Por: Jaak Novaes • 22/11/2015 • Bibliografia • 1.362 Palavras (6 Páginas) • 361 Visualizações
1 . Existem muitos processos de software diferentes, mas todos devem incluir quatro
atividades. Que atividades são essas?
1 – Especificação de software, onde a funcionalidade do software e as restrições a seu funcionamento devem ser definidas.
2 – Projeto e implementação de software, no qual o software deve ser produzido para atender às especificações.
3 – Validação de software, neste o software deve ser validado para garantir que atenda às demandas do cliente.
4 – Evolução de software, onde o software deve evoluir para atender às necessidades de mudança do cliente.
2. Explique sucintamente os modelos de processo de software.
Modelo Cascata: Esse modelo considera as atividades fundamentais do processo de especificação, desenvolvimento, validação e evolução, e representa cada uma delas como fases distintas, como: especificação de requisitos, projeto de software, implementação, teste e assim por diante.
Desenvolvimento Incremental: Essa abordagem intercala as atividades de especificação, desenvolvimento e validação. O sistema é desenvolvido como uma serie de versões(incrementos), de maneira que cada versão adiciona funcionalidade à anterior.
Engenharia de software orientada a reuso: Essa abordagem é baseada na existência de um número significativo de componentes reusáveis. O processo de desenvolvimento do sistema concentra-se na integração desses componentes em um sistema já existente em vez de desenvolver um sistema a partir do zero.
3. Cite e descreva os principais estágios do modelo em cascata que refletem diretamente
nas atividades fundamentais do desenvolvimento.
Análise e definição de requisitos: Os serviços, restrições e metas do sistema são estabelecidas por meio de consulta aos usuários. Em seguida, são definidos em detalhes e funcionam como uma especificação do sistema.
Projeto de sistema e software: O processo de projeto de sistemas aloca os requisitos tanto para sistemas de hardware como para sistemas de software, por meio da definição de uma arquitetura geral do sistema. O projeto de software envolve identificação e descrição das abstrações fundamentais do sistema de software e seus relacionamentos.
Implementação e teste unitário: Durante esse estágio, o projeto do software é desenvolvido como um conjunto de programas ou unidades de programa ou unidades de programa. O teste unitário envolve a verificação de que cada unidade atenda a sua especificação.
Integração e teste de sistema: As unidades são integradas e testadas e como completo para assegurar que os requisitos foram atendidos logo após, entregue ao cliente.
Operação e manutenção: Normalmente, fase mais longa. O sistema é instalado e colocado em uso. Na manutenção são feitas correções que não foram descobertas em estágios iniciais, melhora da implementação das unidades e ampliação de seus serviços em resposta às descobertas de novos requisitos.
4. O desenvolvimento baseado na ideia de criar uma implementação inicial, expô-las aos comentários dos usuários e continuam por meio da criação de várias versões até que um sistema adequado seja desenvolvido. As características descritas á cima pertencem a que modelo de processo de software? Justifique sua resposta.
Pertencem ao Desenvolvimento incremental, pois este processo age de forma intercalada, há um rápido feedback entre todas as atividades, assim, torna-se melhor para determinados sistemas, sem contar que é bem mais fácil e barato fazer mudanças no software durante seu desenvolvimento.
5. O desenvolvimento incremental tem três vantagens importantes quando comparado ao modelo cascata, quais são elas?
1- O custo de acomodar mudanças nos negócios do cliente é reduzido. A quantidade de análise e documentação a ser refeita é muito menor.
2- É mais fácil obter feedback dos clientes sobre o desenvolvimento que foi feito. Os cliente podem comentar sobre demonstrações e ver o quanto o software foi implementado, tendo eles também dificuldade em avaliar a evolução por meio de documentação.
3- Possível entrega rápida e implementação de um software a um cliente, mesmo se toda funcionalidade não for concluída. O cliente pode obter ganhos a partir da fase inicial.
6. Do ponto de vista do gerenciamento, quais os problemas que a abordagem incremental apresenta?
O processo não é visível. Se os sistemas são desenvolvidos de forma rápida, não é viável do ponto de vista do custo produzir documentação para refletir todas as versões do sistema e; a estrutura do sistema tende a degradar conforme novos incrementos são adicionados, as mudanças regulares tendem a corromper a estrutura do sistema. A incorporação posterior de mudanças no software se torna progressivamente mais difícil e cara.
7. Quais são os estágios intermediários em um processo orientado a reuso?
Análise de componentes; Modificação de requisitos; Projeto de sistema com reuso e; Desenvolvimento e integração.
8. Como são organizadas as quatro atividades básicas do processo: especificação, desenvolvimento, validação e evolução.
Especificação: consta em estabelecer quais serviços são necessários e as restrições na operação e desenvolvimento do sistema, processo de engenharia de requisitos, nesta há o estudo de viabilidade, a elicitação e analise de requisitos, a especificação e a validação dos mesmos.
Desenvolvimento: Implementa-se o software, onde há o processo de converter a especificação de sistema em um sistema executável; é feito o projeto de software. Assim, as atividades de projeto e implementação são intimamente ligadas e podem ser intercaladas.
Validação: Verificação e validação (V & V) serve para mostrar que o sistema está em conformidade com sua especificação e está de acordo com os requisitos do cliente; Envolve processos de inspeção e revisão, e testes do sistema; Testes do sistema envolvem executar o sistema com casos de teste. São provenientes de especificações dos dados reais que deverão ser processados pelo sistema.
...