Processo de Desenvolvimento de Software Flashcards

1
Q

Qual a diferença de processo de desenvolvimento de software e metodologia de desenvolvimento de software?

A

Processo de desenvolvimento de software: Sequência de actividades, normalmente agrupadas em fases e tarefas, que são executadas de forma sistemática e uniformizada, que são realizadas por intervenientes com responsabilidades bem definidas, e que a partir de um conjunto de entradas produzem um conjunto de saídas.

Metodologia: Para além da sequência de etapas e procedimentos recomendados para serem aplicados durante o processo de desenvolvimento de sistemas de informação, acrescenta a utilização de um conjunto de ferramentas, técnicas e notações.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Porquê que a modelação é importante no desenvolvimento de sistemas de informação?

A

Porque facilita a comunicação dos diferentes intervenientes. Permite ainda visualizar um sistema, especificar a estrutura e comportamento de um sistema e guiam a sua construção.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quais os principios da modelação de sistemas de informação?

A

A escolha dos modelos a criar tem impacto em como o problema é encarado e a solução é obtida.

Cada Modelo deve ser expresso em diferentes níveis de precisão/abstracção (o que cada interveniente precisa de saber).

Os melhores modelos reflectem a realidade.

Nenhum modelo é suficiente por si só. Um sistema é representado de forma mais adequada por um pequeno número de modelos, razoavelmente independentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quais são algumas das boas práticas do Desenvolvimento de Software?

A

Decomposição hierárquica (limitação a lidar com a complexidade)

Abstracção

Iteratividade (cada feature deve ser refeita várias vezes implementando novas mudanças)

Arquitectura de componentes reutilizáveis (melhora a manutenção)

Sistemática verificação de qualidade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quais as Principais fases de um processo de desenvolvimento de sistemas? E quais as tarefas dentro de cada fase?

A

Concepção (o que é que o sistema deve fazer)
- Planeamento
- Análise

Implementação (como fazer o sistema e a sua construção) → no final da fase o sistema deve estar funcional
- Desenho
- Desenvolvimento
- Testes e Integração
- Instalação

Manutenção
- Operação
- Manutenção

Gestão de Projecto

Gestão de alterações

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quais as tarefas/actividades relacionadas com Gestão do projecto?

A

Agrupa um conjunto de actividades relacionadas com gestão de recursos humanos, financeiros e o controlo dos prazos da execução das várias tarefas. Interface oficial para fora da equipa de desenvolvoimento. Tarefa transversal (ocorre em todas as fases).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quais as tarefas/actividades relacionadas com Gestão de alterações?

A

Conjunto de actividades para controlar alterações num processo em curso. Estes mecanismos sºão fundamentais porque “a única certea é a mudança permanente”. Áreas que apresentam alteração muito frequente são designadas por áreas de risco. Tarefa transversal (ocorre em todas as fases).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais as tarefas/actividades relacionadas com Planeamento?

A

O principal output desta fase é um plano de projecto. Isto é o que vai permitir avançar ou chumbar o projecto. Deve reflectir a visao que se tem nesta fase do processo sobre as actividades a desenvolver relativamente recursos, prazos, custos e os beneficios que o sistema vai trazer à organização.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quais as tarefas/actividades relacionadas com Análise?

A

Efectua o estudo detalhado do dominio do problema e o output deve ser um documento onde os requisitos funcionais da solução a implementar e outras questões são enumeradas. Engloba 2 sub-tarefas:
1. Levantamento de requisitos
2. Especificação do Sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quais as tarefas/actividades relacionadas com Desenho?

A

É a fase de especificação técnica onde se definem:

Componentes aplicacionais (objectos, módulos, programas)

Componentes Tecnológicos (maquinas, redes…)

Dados (estrutura de ficheiros, estrutura das bases de dados

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quais as tarefas/actividades relacionadas com Implementação?

A

É nesta tarefa que os diversos componentes aplicacionais são codificados e testados isoladamente (testes unitários). As actividades de implementação devem fazer uso de ferramentas, que a partir da especificação do modelo, sejam capazes de produzir automaticamente componentes → frameworks. Deste modo a programação pura cede em favor da integração de componentes pre-feitos para melhorarmos a velociddae de desonvolvimento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quais as tarefas/actividades relacionadas com testes?

A

O objectivo desta tarefa é a aceitação formal do cliente e a posterior decisão de colocar o sistema em produção. Envolve vários tipos de testes que devem ser executados em ambientes próximos ao de produção mas separados da mesma de modo a que programadores , testers e utilizadores possam trabalar ao mesmo tempo sem interferênca. Os vários testes que existem são:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quais as tarefas/actividades relacionadas com instalação?

A

Consiste na preparação e instalação do sistema na infra-estrutura computacional destino e na sua subsequente operação regular. envolve instalação de componentes aplicacionais necessários, definição de perfis, utilizadores e níveis de segurança, formação de utilizadores no sistema, entre outros. A elaboração de documentação sobre utilização do sistema é feita aqui.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quais as tarefas/actividades relacionadas com Manutenção?

A

Tem por objectivo garantir que a ocorrência de bugs, alteração de requisitos e problemas de desempenho do sistema sejam convenientemente tratados. A manutenção desencadeia uma nova iteração no processo uma vez que envolve novas tarefas de analise, implementação, entre outras. Também é aqui que fazemos a operação do sistema, isto é, copias de segurança, verificação do sistema, adição de novos utilizadores, etc…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Indique e explique os dois modelos de processos de desenvolvimento de software?

A

Processo em cascata: As actividades a executar são agrupadas em tarefas e executadas sequencialmente, de forma a que uma tarefa só tem inicio quando a anterior terminar. Esta abordagem protege a empresa de desenvolvimento porque quando uma tarefa é acabada a mesma é aceite pelo cliente e é “fechada” não podendo ser alterada.

Processo iterativo (incremental): Corresponde à ideia de refinar pouco a pouco o âmbito e a concretização do sistema. O escopo do projecto não é alterado mas o detalhe vai aumentando em sucessivas iterações.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quais as desvantagens de processos que seguem processo em cascata? Qual a solução?

A

Problemas:

O produto final pode não ser o esperado

Não promove comunicação entre intervenientes

Descarta o conhecimento que vai sendo adquirido ao longo do processo

Modelo em cascata revisto: a partir de qualquer tarefa podemos regressar a uma anterior de forma a contemplar alterações funcionais ou tecnicas decorridas de maior conhecimento. Risco de entrarmos num loop sem fim

17
Q

Quais as vantagens do Processo iterativo?

A

Maior comunicação entre intervenientes;

Avaliação dos riscos mais cedo

Testes contínuos permitem a avaliação objectiva do estado do sistema

As inconsistências entre analise, desenho e implementação são apanhadas mais cedo

A equipa vai aprendendo com a experiências e vai melhorando o processo em cada iteraç

18
Q

O que vem resolver o modelo de prototipagem rápida?

A

Permite o cliente visualizar e aprovar o modelo da interface e respectivas funcionalidades. Diminui os problemas inerentes à comunicação.Diminui o problema de extensão de tempo entre o inicio do processo e a entrega do produto