Logo Passei Direto
Buscar
LiveAo vivo
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
1
Tema 01
Processo de Desenvolvimento
de Software
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
2
• Tentativas de lidar com a complexidade e de minimizar os 
problemas envolvidos no desenvolvimento de software envolvem 
a definição de processos de desenvolvimento de software - PDS. 
• Um PDS compreende todas as atividades necessárias para definir, 
desenvolver, testar e manter um produto de software. 
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
3
• Alguns objetivos de um PDS:
✓ Definir quais as atividades a serem executadas ao longo do projeto;
✓ Definir quando, como e por quem tais atividades serão executadas; 
✓ Prover pontos de controle para verificar o andamento do desenvolvimento; 
✓ Padronizar a forma de desenvolver software em uma organização.
• Exemplos de PDS existentes:
✓ RUP
✓ XP
✓ SCRUM
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
4
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
Planejamento
Projeto
Codificação
Teste
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
7
Atividades típicas de um PDS
• Levantamento de requisitos
• Análise de requisitos
• Projeto
• Implementação
• Testes
• Implantação
Engenharia de requisitos
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
8
Modelos de Ciclos de Vida 
• Um ciclo de vida corresponde a um encadeamento 
específico das fases para construção de um sistema. 
• Dois modelos de ciclo de vida:
– modelo em cascata
– modelo iterativo e incremental. 
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
9
Modelo em Cascata
• Esse modelo apresenta uma tendência para a progressão 
sequencial entre uma fase e a seguinte. 
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
10
Modelo em cascata
• Projetos reais raramente seguem um fluxo sequencial.
• Assume que é possível declarar detalhadamente todos os requisitos antes do
início das demais fases do desenvolvimento, aumentando a possibilidade de
propagação de erros pelas fases do processo.
• Uma versão de produção do sistema não estará pronta até que o ciclo do
projeto de desenvolvimento chegue ao final.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
11
Modelo iterativo e incremental 
• Divide o desenvolvimento de um produto de software em ciclos.
• Em cada ciclo de desenvolvimento, podem ser identificadas as
fases de análise, projeto, implementação e testes.
• Cada ciclo considera um subconjunto de requisitos.
• Esta característica contrasta com a abordagem clássica, na qual
as fases são realizadas uma única vez.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
12
Modelo iterativo e incremental 
• Desenvolvimento em “minicascatas”.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
13
Modelo Espiral
• Foi originalmente proposto por Boehm em 1988.
• Cada setor da espiral corresponde a uma tarefa (fase)do
desenvolvimento.
• A primeira tarefa inclui a determinação de objetivos, alternativas e
restrições, onde ocorre o comprometimento dos envolvidos e o
estabelecimento de uma estratégia para alcançar os objetivos.
• Na segunda tarefa - avaliação de alternativas, identificação e solução
de riscos, executa-se uma análise de risco. Prototipação é uma boa
ferramenta para tratar riscos. Se o risco for considerado inaceitável, pode
parar o projeto.
• Na terceira tarefa ocorre o desenvolvimento do produto.
• Na quarta tarefa o produto é avaliado e se prepara para iniciar um
novo ciclo.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
14
Modelo Espiral
https://www.google.com.br/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjR0Pbb0rTVAhXMIpAKHcJYDMoQjRwIBw&url=https://felipelirarocha.wordpress.com/2013/07/13/ciclo-de-vida-de-projeto/&psig=AFQjCNGcpkmZJpG7Qv81tmxBtVFGEMgPIw&ust=1501629163638426
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
15
• No processo de Prototipagem o desenvolvedor interage diretamente com o 
usuário, escutando seus pedidos e desenvolvendo, imediatamente, um protótipo 
do produto desejado. 
• O usuário, então, utiliza esse protótipo e fornece ao desenvolvedor novas 
informações que o levam a modificar o protótipo, de maneira a atender todas as 
necessidades do usuário.
• É claramente um processo de desenvolvimento baseado em um ciclo de 
realimentação de informações, com alta participação do usuário.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
16
Necessidade de um Padrão
• Percebeu-se a necessidade de um padrão para a modelagem de 
sistemas que fosse aceito e utilizado amplamente.
• Surge a UML (Unified Modeling Language) em 1996 como a 
melhor candidata para ser linguagem “unificadora”. 
• Em 1997, a UML é aprovada como padrão pelo OMG.
• Desde então, a UML tem tido grande aceitação pela comunidade 
de desenvolvedores de sistemas. 
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
17
UML 
• UML é...
– uma linguagem visual.
– independente de linguagem de programação.
– independente de processo de desenvolvimento.
• UML não é...
– uma linguagem de programação (mas possui versões!).
– uma técnica de modelagem.
• Um processo de desenvolvimento que utilize a UML como linguagem de 
modelagem envolve a criação de diversos documentos.
– Estes documentos, denominados artefatos de software, podem ser 
textuais ou gráficos.
• Os artefatos gráficos produzidos de um sistema OO são definidos através 
dos diagramas da UML.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
•18
Contribuições para UML
Fusion
Descrições de operação,
Numeração de mensagem
Meyer
Pré e pós 
condições
Wirfs-Brock
Responsabilidades
Embley
Classes singleton, 
Visão “high-level”
Odell
Classificação
Shlaer - Mellor
“Object Lifecycles”
Booch
JacobsonRumbaugh
UMLHarel
Diagrama de Estado
Gamma, et.al
“Frameworks”, “patterns”,
notas
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
19
Diagramas da UML 2.0
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RATIONAL UNIFIED PROCESS
• Guiado por casos de uso
• Centrado em arquitetura
• Iterativo e incremental
Princípios fundamentais:
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RATIONAL UNIFIED PROCESS - RUP
• GUIADO POR CASOS DE USO
• Centrado em Arquitetura
• Iterativo e incremental
• O planejamento do desenvolvimento é feito em função dos casos de uso 
identificados, tratando-se prioritariamente os mais complexos.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RATIONAL UNIFIED PROCESS
• Guiado por Casos de Uso
• CENTRADO EM ARQUITETURA
• Iterativo e incremental
A arquitetura deve permitir a realização dos requisitos, abrangendo um conjunto de decisões sobre:
• a seleção de elementos estruturais (classes e componentes) e suas interfaces que compõem 
o sistema e seu comportamento especificado através de colaborações entre estes elementos;
• a composição dos elementos estruturais e comportamentais em subsistemas –
modularização da solução.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
23
Visão de 
Projeto
Visão de 
ImplementaçãoVisão de 
Processo
Visão de 
Implantação
Casos de Uso
Arquitetura e a UML
• O desenvolvimento de SW complexo demanda que seus desenvolvedores 
tenham a possibilidade de analisá-lo a partir de diferentes perspectivas.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RATIONAL UNIFIED PROCESS
• Guiado por Casos de Uso
• Centrado em Arquitetura
• ITERATIVO E INCREMENTAL
✓ Construção de software de acordo com o modelo iterativo e incremental.
✓ A cada ciclo de trabalho realizado, novas características são adicionadas à arquitetura do 
sistema, deixando-a mais completa e mais próxima do sistema final.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RUP 
Ponto de Vista Gerencial
Concepção
Elaboração
1 2 3 ... 
Construção
Transição
16
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RUP - Concepção
• Exige do analista uma visão inicial e geral do sistema a ser desenvolvido, 
podendo-se utilizar a modelagem de estado ou de atividades como modelagem 
de negócio. 
• A partir desta compreensão do negócio pode-se obter os requisitos fundamentais 
do projeto – funcionais e não funcionais. Identificação e descrição preliminar 
dos “casos de uso” mais críticos.
• Pode-se elaborar um modelo conceitual preliminar – diagrama de classes – para 
compreensão da estrutura da informação a ser gerenciada pelo sistema.
• Estabelecer o escopo do projeto - Objetivo(s).
• Verificar a viabilidade do projeto.
• Garantir o financiamento do projeto.
• Planejamento detalhado da fase de Elaboração e geral das demais fases.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RUP - Elaboração
• Inicia com a expansão dos casos de uso de alto nível e posterior 
detalhamento dos respectivos diagramas de sequência, onde 
são identificadas as operações do sistema.
• Modelo conceitual inicial deverá ser refinado.
• Protótipo da Interface com Usuário.
• Garantir uma arquitetura estável e testada para a Construção 
(evitar surpresas técnicas durante a Construção).
• Minimizar os riscos relacionados à fase de Construção.
• Plano de desenvolvimento para a próxima fase - Construção.
• Estimativa realista de custo e prazo para a Construção.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RUP - Construção
• Construção do produto em uma sequência de iterações.
• Gerar o software propriamente dito.
• Geração do banco de dados.
• Início da construção do manual do usuário.
• Produto ao final da Construção ainda pode conter erros, que serão 
descobertos e removidos na fase de Transição.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
RUP - Transição
• Fazer a transição do produto para a comunidade de usuários.
• Foco na correção de problemas e não em adição de novas 
funcionalidades. Sugestões são avaliadas, podendo ser 
incorporadas ainda nesta release.
• Modificações em função de feedback dos usuários.
• Treinamento dos usuários.
• Montagem da estrutura de suporte.
• Definição do processo de manufatura.
• Teste beta – Aceitação final.
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
30
RUP
Processo de Desenvolvimento 
de Software - PDS
Prof Tavares – Engenharia de Requisitos 
Até a próxima!!

Mais conteúdos dessa disciplina