Você está na página 1de 43

UNIVERSIDADE FEDERAL DO PIAU UFPI

Campus Picos

INTRODUO
ENGENHARIA DE SOFTWARE
Professor:

Leonardo Pereira de Sousa

PROCESSOS DE SOFTWARE
SLIDE 03

Modelos de Processos de Software


Modelo Balbrdia:
Sistemas desenvolvidos na informalidade sem
nenhum tipo de projeto ou documentao.
O software tende a entrar num ciclo de somente
duas fases:
Implementao;
implantao.

Modelos de Processos de Software


Modelo Cascata:
Modelo basicamente de atividades sistemticas e
seqenciais onde para cada etapa cumprida, segue-se a
etapa imediatamente posterior, como se fosse uma
cascata.

Modelos de Processos de Software


Modelo Incremental:
Parte do pressuposto que prefervel o usurio receber
o Sistema em partes, permitindo que esses recursos j
sejam utilizados, enquanto os demais esto sendo
desenvolvidos.

Modelos de Processos de Software


Prototipao:
Dentro dessa viso, o projeto passa por vrias
investigaes para garantir que o desenvolvedor,
usurio e cliente cheguem a um consenso sobre o que
necessrio e o que deve ser proposto.

Processo de Desenvolvimento de Prottipo

Modelos de Processos de Software


Modelo Espiral:
mais adequado para sistemas mais complexos, e que
exigem um alto nvel de interaes com os usurios para
possibilitar a abordagem de todos os problemas desse
Sistema.
Ao invs de representar o processo de software como
uma sequncia de atividades, a exemplo do Modelo
Cascata, ele representado atravs de uma espiral

Modelos de Processos de Software


Modelo Espiral:
Na parte mais interna relaciona-se o incio da viso da viabilidade
do sistema. E a cada ciclo, vai evoluindo a visibilidade do sistema
como um todo.

Modelos de Processos de Software


Modelo Espiral: O Modelo Espiral basicamente dividido em.

Paradigmas da Engenharia de
Software: Processo, Mtodos
e Ferramentas

Paradigmas da Engenharia de Software


A Engenharia de Software uma tecnologia em
camadas (Pressman).
O foco desta disciplina na qualidade, que a
base de todas as camadas.
O alicerce da Engenharia de Software, para tal,
fica sendo no PROCESSO, aonde a partir da temos
os MTODOS a serem aplicados, e as
FERRAMENTAS como apoio a todo esse esquema.
O arcabouo deste conjunto conhecido
paradigma de Engenharia de Software.

Paradigmas da Engenharia de Software

Paradigmas da Engenharia de Software


Processo:
O Processo de Software um conjunto de atividades,
mtodos, prticas e transformaes ordenadas com a
inteno de atingir a qualidade do software.
Sua meta fundamental entregar, de maneira eficiente
e previsvel um produto de software capaz de atender as
necessidades de negcio, definidas pela anlise de
requisitos, dos usurios.
Um processo define QUEM est fazendo O QUE,
QUANDO e COMO para atingir esse objetivo.

Paradigmas da Engenharia de Software


Processo:

Paradigmas da Engenharia de Software


Processo:
As principais caractersticas de um bom processo
so:
Configurvel para diferentes organizaes.
Adaptvel para diferentes tamanhos e tipos de
projetos.
Bem definido, gerencivel e repetvel.
Com nomenclatura universal e mtricas para
planejamento e gerenciamento do projeto.

Integrado com ferramentas que o suportem.

Paradigmas da Engenharia de Software


Mtodos
As metodologias de Engenharia de Software objetivam
ensinar como fazer para construir softwares.
Esse mtodos incluem atividades de modelagem,
construo de programas, testes e manuteno.

Paradigmas da Engenharia de Software


Mtodos
Na Engenharia de Software as principais abordagens de
Metodologias so:
Metodologia Estruturada: a mais clssica das
abordagens. Utiliza como ferramental Dicionrio de
Dados, Diagrama de Fluxo de Dados (DFD), e o
Modelo Entidade Relacionamento (MER);
Metodologia Orientada a Objetos: Exemplo RUP.
Metodologias de Desenvolvimento gil: Existem
varias metodologias que podem ser consideradas
como abordagens geis: XP, Scrum.

Paradigmas da Engenharia de Software


Ferramentas :
As ferramentas de Engenharia de Software fornecem
apoio automatizado, ou semi-automatizado, para o
processo e para os mtodos.
Quando ferramentas so integradas de modo que a
informao criada por uma ferramenta possa ser usada
por outra, um sistema de apoio ao desenvolvimento de
software, chamado de engenharia de software apoiada
por computador (CASE), estabelecido (Pressman).

Paradigma Genrico
O Que ?
Como ?
Porque?

Definio
Desenvolvimento
Manuteno

Desenvolvimento de Software
Fase de Definio

anlise de sistema

planejamento do projeto de software

anlise de requisitos
Fase de Desenvolvimento

projeto de software

codificao

teste de software
Fase de Manuteno

adaptao

correo

perfectiva

O que um Requisito?
Pode variar de uma declarao abstrata de alto
nvel de um servio ou de uma restrio de sistema
para uma especificao matemtica funcional.
Pode ser a base para uma proposta de um
contrato.
Portanto deve ser aberta para interpretao;

Pode ser a base para o contrato em si


portanto deve ser definido em detalhe.

Anlise de Requisitos
Requisito de software uma descrio dos principais recursos
de um produto de software, seu fluxo de informaes,
comportamento e atributos.

O requisito de software fornece uma estrutura bsica para o


desenvolvimento de um produto de software.
O grau de compreensibilidade, preciso e rigor da descrio
fornecida por um documento de requisitos de software tende a
ser diretamente proporcional ao grau de qualidade do produto
resultante (Peters, 2000).
A anlise de requisitos o principal processo executor em um
sistema de feedback que produz descries dos recursos
comportamentais e no comportamentais do software.

COMEA QUANDO:
se reconhece um problema que necessita de soluo.
surge uma ideia de um novo negcio ou sistema de
informao.

E TERMINA QUANDO:
tem-se a descrio completa do comportamento do
software a ser construdo (Especificao de
Requisitos)

A anlise de requisitos um processo


de descoberta e refinamento
ATORES: cliente e desenvolvedor

PROBLEMA: grande propenso a mal


entendidos - "atividade aparentemente
simples torna-se complexa"

Tipos de Requisitos
Requisitos de usurio
Declaraes em linguagem natural + diagramas de
servios que o sistema fornece e suas restries
operacionais.
Escritos para os clientes.

Requisitos de sistema
Um documento estruturado estabelecendo
descries detalhadas das funes, servios e
restries operacionais do sistema.
Define o que deve ser implementado e assim pode ser
parte de um contrato entre o cliente e o desenvolvedor.

Requisitos Funcionais e
No Funcionais
Requisitos Funcionais
Declaraes de servios que o sistema deve
fornecer, como o sistema deve reagir a
entradas especficas e como o sistema deve se
comportar em determinadas situaes.

Requisitos No Funcionais
Restries sobre servios ou funes oferecidos
pelo sistema tais como restries de timing,
restries sobre o processo de desenvolvimento,
padres, etc.

ATIVIDADES

Anlise do
Problema

Definio
Requisitos

Avaliao da
Especificao

Descontraindo
Problemas na m elaborao do Projeto e
nas analises de Requisitos:
..\Gerencia de
Projetos\Charges\20110313som.exe;
..\Gerencia de
Projetos\Charges\20110320som.exe;
..\Gerencia de
Projetos\Charges\20110327som.exe.

EXERCCIO

Exerccios

1. (SECGE PE ACI 2010 Cespe) Acerca da engenharia de software,


assinale a opo correta.
a) A engenharia de software, que tem como alicerce os mtodos,
formada de vrias camadas, tais como ferramentas, mtodos e
processo.
b) Apesar de importante no contexto de produtos, a qualidade no
tratada na engenharia de software e, sim, no gerenciamento de
projetos.

c) Anlise e projeto so duas aes da engenharia de software. A definio


de arquitetura e componentes so tarefas da anlise, enquanto
levantamento e especificao de requisitos so tarefas do projeto.
d) A engenharia de software visa obter softwares econmicos que sejam
confiveis e que trabalhem eficientemente em mquinas reais.
e) A engenharia de software aplica abordagem sistemtica, disciplinada e
no quantificvel para desenvolvimento e manuteno de software.

Exerccios
2. (TRE-BA Analista de Sistemas 2010 Cespe)
Com relao engenharia de software, julgue os
itens a seguir.
Entre os desafios enfrentados pela engenharia de
software esto lidar com sistemas legados, atender
crescente diversidade e atender s exigncias
quanto a prazos de entrega reduzidos.

Exerccios

3. (TRE-BA Programador 2010 Cespe) Em uma viso


restritiva, muitas pessoas costumam associar o termo
software aos programas de computador. Software no
apenas o programa, mas tambm todos os dados de
documentao e configurao associados, necessrios para
que o programa opere corretamente. A respeito de
engenharia de software, julgue os itens.
A engenharia de software est relacionada com todos os
aspectos da produo de software, desde os estgios
iniciais de especificao do sistema at sua manuteno,
depois que este entrar em operao. A engenharia de
sistemas diz respeito aos aspectos do desenvolvimento e da
evoluo de sistemas complexos, nos quais o software
desempenha um papel importante.

Exerccios
(Banco da Amaznia TI 2010 Cespe) Com relao aos
conceitos de desenvolvimento de sistemas, julgue os itens
a seguir.
4. Para garantir o desenvolvimento de qualidade, suficiente
que a equipe tenha as ferramentas mais atuais de
engenharia de software e os melhores computadores.

Exerccios
5. (Embasa Desenvolvimento 2010 Cespe)
Acerca de princpios de engenharia de software,
julgue os itens a seguir.
Um modelo de processo de software descreve os
processos que so realizados para atingir o seu
desenvolvimento. A notao para as tarefas, os
artefatos, os atores e as decises varia conforme o
modelo de processo utilizado.

Exerccios
6. Um processo de software um conjunto de atividades
relacionadas que levam produo de um produto de
software. Existem muitos processos de software diferentes,
mas todos devem incluir quatro atividades fundamentais:
especificao, projeto e implementao, validao e
a) teste
b) evoluo.

c) prototipao.
d) entrega.
e) modelagem.

Exerccios
7. No desenvolvimento de software em espiral (Boehm), cada
loop est dividido em quatro setores. NO se trata da
denominao de um destes setores:
a) levantamento.

b) definio de objetivos.
c) avaliao e reduo de riscos
d) desenvolvimento e validao.
e) planejamento.

Exerccios
8. O modelo de processo de desenvolvimento de software que
combina as atividades de desenvolvimento com o
gerenciamento de risco o Modelo
a) Transformacional
b) de Especificao Operacional
c) em V
d) em Cascata

e) em Espiral

Exerccios
9. Em cada fase de um processo de software so executadas
as atividades bsicas para que sejam atingidos os objetivos
propostos. Essas atividades podem ser identificadas nas
alternativas a seguir, exceo de uma. Assinale-a.
a) Projeto.
b) Integrao.

c) Especificao.
d) Implementao.
e) Manuteno e Evoluo.

Exerccios
10. Em relao engenharia de software, a afirmao NO
pertinente aos processos de software :
a) so atividades ordenadas, normalmente divididos em
fases;
b) usam uma sistematizao normalmente rgida e pesada;
c) suas fases buscam manter a integridade e a qualidade do
produto final;
d) permitem que atividades sejam definidas em uma
sequncia lgica, para assim obter determinado software;
e) um dos primeiros processos de software existente foi o
modelo espiral.

Exerccios
11. uma restrio sobre os servios ou as funes
oferecidos pelo sistema. Pode ser uma restrio de timing,
sobre o processo de desenvolvimento, sobre o desempenho
ou sobre a confiabilidade do sistema, entre outras. Trata-se
de
a) requisito no funcional.

b) requisto funcional.
c) especificao de risco.
d) iterao de processo.

e) etnografia.

Exerccios
12. Considere um sistema cujos requisitos de interface so
definidos apenas quando o cliente realiza um test-drive na
aplicao e aprova essa interface. Assinale a alternativa
que apresenta o modelo mais adequado para o
desenvolvimento da interface desse sistema.
a) gil.
b) Cascata.

c) Iterativo incremental.
d) Prototipao.
e) Rapid Application Development.

Exerccios
13. Requisitos no-funcionais esto diretamente relacionados
com a satisfao dos usurios. Assinale a alternativa que
no indique um requisito no-funcional
a) O sistema de arquivos deve ser protegido, para acesso,
apenas, de usurios autorizados.
b) O software deve ser implementado usando os conceitos de
orientao a objetos.

c) O tempo de desenvolvimento do software no deve


ultrapassar seis meses.
d) O software poder ser executado em plataforma windows
e linux.
e) O software deve emitir relatrios de vendas.

FIM