apostila (1)
74 pág.

apostila (1)


DisciplinaEx Metologia Cientifica39 materiais199 seguidores
Pré-visualização22 páginas
um gabarito 
para esta definição, dividido em seções, como apre-
sentado a seguir:
\u2022 Nome do padrão e Classificação: o nome 
é muito importante para um padrão, pois deve 
indicar a essência do padrão em poucas pala-
vras. 
\u2022 Intenção do padrão: descreve o que o pa-
drão faz, qual a sua intenção e qual problema o 
padrão se propõe a resolver.
\u2022 Também conhecido como: um outro nome 
pelo qual o padrão é conhecido, caso exista.
\u2022 Motivação: um exemplo de problema de pro-
jeto e como a utilização do padrão resolve este 
problema.
\u2022 Aplicabilidade: condições em que o padrão 
pode ser aplicado, exemplo de situação em que 
o padrão é aplicado e como identificar essas 
situações.
\u2022 Estrutura: uma representação gráfica das 
classes no padrão utilizando uma linguagem de 
modelagem, em que possam ser representados 
os relacionamentos entre os objetos e sequên-
cias de requisições.
\u2022 Participantes: apresenta as classes e objetos 
que fazem parte do padrão e quais as suas res-
ponsabilidades.
\u2022 Colaborações: como os participantes colabo-
ram para atender as suas responsabilidades.
\u2022 Consequências: descreve como o padrão al-
cança seus objetivos, quais as decisões e re-
sultados de usar o padrão e que aspectos da 
estrutura do sistema podem ser variados inde-
pendentemente.
\u2022 Implementação: que detalhes de implemen-
tação devem ser observados se o padrão for 
implementado. Deve ser observado se existem 
detalhes específicos para uma determinada lin-
guagem.
\u2022 Exemplo de código: um exemplo de código 
que mostre como o padrão deve ser implemen-
tado em alguma linguagem.
\u2022 Usos conhecidos: exemplos do padrão en-
contrados em sistemas reais.
\u2022 Padrões relacionados: padrões que se as-
semelham a este padrão e quais as diferenças. 
Apresenta também outros padrões que podem 
ser utilizados em conjunto.
Engenharia de Softwares e Engenharia de Requisitos 
20
A existência ou a simples escolha de um processo de software não garante que o software será entregue 
no prazo, que ele atenda as necessidades do projeto e possua as características técnicas que garantirão sua 
qualidade no longo prazo. Os padrões de processo precisam estar ligados de forma sólida às práticas da 
Engenharia de Software. Além disso, o processo em si deve ser avaliado para garantir que ele satisfaça a um 
conjunto de critérios essenciais para o desenvolvimento bem sucedido. O relacionamento entre o processo 
de software e os métodos aplicados para sua avaliação e melhoria é mostrado na figura 4.
Figura 4
Processo de Software, Avaliação e Melhoria de Processo
Como vimos, os modelos de processo podem e 
devem ser adaptados para o uso de uma determina-
da equipe de projeto de software. Para que se possa 
conseguir isso, foram desenvolvidas diversas ferra-
mentas de tecnologia de processo de forma a ajudar 
as organizações a analisar o processo que utiliza, or-
ganizar as tarefas de trabalho, controlar e monitorar 
o progresso do desenvolvimento e ainda gerenciar 
sua qualidade técnica.
Os componentes da equipe de desenvolvimento 
podem utilizar as ferramentas para desenvolver um 
checklist das tarefas de trabalho a seu cargo. As fer-
ramentas de tecnologia de processo também podem 
ser utilizadas para coordenar e gerenciar o uso de 
outras ferramentas de engenharia de software apoia-
das por computador adequadas às diversas tarefas 
de trabalho.
Como vimos neste capítulo, a Engenharia de Sof-
tware é uma disciplina que integra processo, métodos 
e ferramentas para o desenvolvimento de projetos de 
software. Há diversos modelos de processo, mas todos 
possuem algumas características em comum, definindo 
um conjunto de atividades de arcabouço, uma coleção 
de tarefas para que se consiga realizar as atividades, 
produtos de trabalho produzidos nas tarefas e um con-
junto de atividades guarda-chuva que apóiam as ativi-
dades de todo o processo. 
Vimos, também, que padrões de processo podem 
ser utilizados para definir as características de um pro-
cesso.
Engenharia de Softwares e Engenharia de Requisitos 
21
Exercícios do Capítulo 2 
1) Processos de software podem ser construídos de modelos pré-existentes objetivando 
se adequar às necessidades de um determinado projeto
a) Verdadeiro
b) Falso
2) A essência da prática da engenharia de software pode ser resumida em compreender o 
problema, planejar a solução, executar o plano e examinar o resultado.
a) Verdadeiro
b) Falso
3) Qual dos itens listados abaixo não se constitui numa das camadas da engenharia de 
software?
a) Processo
b) Manufatura
c) Métodos
d) Ferramentas
4) Cite que tipos de manutenção um software pode sofrer.
5) As atividades \u201cguarda-chuva\u201d dão \u201ccobertura\u201d para as fases envolvidas na produção de 
software. Cite algumas dessas atividades.
6) Há uma ilusão por parte de alguns desenvolvedores que basta selecionar um modelo 
de processo e aplicá-lo para se obter software de qualidade, dentro do prazo e custos 
estabelecidos. Comente sobre esse \u201cmito\u201d.
Engenharia de Softwares e Engenharia de Requisitos 
22
Modelos de Processo 
Caro aluno, neste capítulo definiremos o que é ciclo de vida de software, quais suas principais 
etapas e descreveremos os principais modelos de processo de software: Modelo em Cascata, Mo-
delos Evolucionários (Modelo de Prototipagem, Modelo Espiral e Modelo Concorrente), Modelos 
Incrementais (Modelo RAD e Modelo Incremental), Modelo Baseado em Componentes, Modelo de 
Métodos Formais, Processo Unificado e Métodos Ágeis de Desenvolvimento.
Ciclo de Vida e Modelos de Processo 
O ciclo de vida de um software descreve as fases pelas quais o software passa desde a sua concepção até 
a descontinuidade de seu uso. O conceito de ciclo de vida de um software é muitas vezes confundido com o 
de modelo de processo, mas são conceitos bem diferentes, como veremos a seguir. 
Existem várias propostas e denominações para as 
fases do ciclo de vida de um software. Nesta nossa 
abordagem, vamos trabalhar com 4 fases, que são 
as mais típicas em diversos ciclos de vida, de acordo 
com a proposta de Leite (2007). Cada fase inclui um 
conjunto de atividades ou disciplinas que devem ser 
realizadas pelas pelos envolvidos no processo de de-
senvolvimento. Essas fases são:
1. Fase de Definição
2. Fase de Desenvolvimento
3. Fase de Operação
4. Fase de Retirada
1. Fase de Definição
A fase de definição do software ocorre em con-
junto com outras atividades como a BPM \u2013 Business 
Process Modeling ou Modelagem de Processos de 
Negócios e Análise de Sistemas. Nestas atividades, 
diversos profissionais fazem o levantamento da situ-
ação atual em busca da identificação de problemas, 
para que possam elaborar propostas de solução de 
sistemas computacionais que os resolvam. Dentre as 
propostas apresentadas, deve-se fazer um Estudo de 
Viabilidade, incluindo a Análise de Custo-Benefício, 
para se decidir qual solução será a escolhida.
O resultado desta atividade deve incluir a decisão 
se o sistema será adquirido ou desenvolvido, indi-
cando informações sobre necessidades de hardware, 
ferramentas de software, pessoal, procedimentos, in-
formação e documentação.
Caso haja uma decisão pelo desenvolvimento do 
sistema, no escopo da Engenharia de Software, tor-
na-se essencial elaborar o documento de Proposta de 
Desenvolvimento de Software, que pode ser a base 
de um Contrato de Desenvolvimento.
Nesta fase, os profissionais devem realizar uma 
tarefa de extrema importância, que é fazer o levan-
tamento dos Requisitos de Software e Modelos de 
Domínio. Os requisitos são fundamentais para que o 
engenheiro de software possa elaborar um Plano de 
Desenvolvimento de Software, indicando em deta-
lhes os recursos necessários (humanos e materiais), 
bem como as estimativas de prazos e custos (crono-
grama e orçamento).