Processo de
Desenvolvimento de
Software – PDS
PAS – Processo
Acadêmico Simplificado
PAS
• Características:
▫ Elaborado com o propósito de ser utilizado em práticas acadêmicas de
desenvolvimento de software.
▫ Foi desenvolvido de forma iterativa e incremental.
▫ Baseado no PU (Processo Unificado).
▫ Mais simplificado, enxuto e adequado à realidade e às necessidades
acadêmicas.
2
Características do PAS
• Embora baseado no UP, três processos de
desenvolvimento de software foram utilizados
como base na construção do PAS:
▫ RUP (Rational Unified Process) - processo que visa garantir a produção de
software de alta qualidade que atenda às necessidades dos usuários
dentro de um cronograma e de um orçamento previsíveis. Ele é centrada
em uma arquitetura baseada em componentes facilmente extensível,
promovendo a reutilização de software e um entendimento intuitivo.
Oferece uma abordagem baseada em disciplinas para atribuir tarefas e
responsabilidades dentro de uma organização de desenvolvimento e é
guiado por casos de uso, projetado e documentado utilizando a notação
UML.
▫ ICONIX - processo simples e leve que utiliza a linguagem de modelagem
UML e possui uma característica chamada Traceability of Requirements, a
qual exige verificar em toda fase se os requisitos estão sendo atendidos.
▫ XP (eXtreme Programming) - processo leve, eficiente, flexível e de baixo
risco para times pequenos e médios, que desenvolvem software com
requisitos dinâmicos ou em constante mudança.
3
Princípios chave
• Dirigido por casos de uso: os casos de uso orientam
o trabalho de desenvolvimento, desde a captação
e negociação de requisitos até a aceitação do
código
• Centrado em arquitetura: a arquitetura é a pedra
fundamental sobre a qual o sistema será construído
além de orientar, junto com os casos de uso, a
exploração dos aspectos do sistema
• Iterativo e incremental:iteração é um miniprojeto
que resulta em uma versão do sistema para
liberação interna ou externa. Supõe-se que essa
versão ofereça uma melhoria incremental sobre a
versão anterior
4
Casos de uso e arquitetura
• Casos de uso dirigem o desenvolvimento e
conseqüentemente dirigem a arquitetura
• A arquitetura guia a seleção e exploração de
casos de uso
• A idéia básica é focar primeiramente nos casos de
uso com grande impacto na arquitetura
o Estratégia de mitigação de riscos
5
Arquitetura incremental
• Nas iterações iniciais é proposta uma
arquitetura candidata que comporte-se com
um alicerce sólido para a construção do
sistema
• Nas iterações posteriores a arquitetura é
avaliada, refinada e consolidada como uma
arquitetura completa, a qual influencia a
maioria das tarefas de desenvolvimento
• O processo iterativo e incremental permite
identificar as mudanças necessárias no início
do projeto, que é o momento no qual as
alterações possuem menor custo
6
Desenvolvimento
Iterativo
• Você deve usar o desenvolvimento iterativo
apenas em projetos que você deseja que sejam
bem sucedidos.
Martin Fowler
7
Processo iterativo e
incremental
• Diferente do ciclo de vida em cascata, no
processo iterativo o desenvolvimento começa
ANTES que os requisitos estejam todos definidos
em detalhe
o A realimentação (feedback) é utilizada para
esclarecer e aperfeiçoar as especificações
• A cada iteração todas as atividades (requisitos,
análise,...) são realizadas
• A saída de uma iteração não é um protótipo
descartável, e sim um subconjunto do sistema
final com qualidade de produção
8
Requisitos e processo
iterativo
• O processo iterativo e incremental resulta
em um melhor tratamento dos requisitos
instáveis
o Ao invés de serem combatidas, as mudanças
são esperadas e acolhidas de forma equilibrada
• A prática de liberar protótipos do sistema
permite que clientes e desenvolvedores
negociem requisitos de modo progressivo
9
Requisitos e processo
iterativo
10
11
Benefícios do
desenvolvimento iterativo
• Menos erros de projeto, maior produtividade e
menor taxa de defeitos
• Mitigação precoce, em vez de tardia, de altos
riscos
• Progresso visível desde o início
• Realimentação, envolvimento do usuário e
adaptação imediatos, levando a um sistema
que atenda às reais necessidades dos
stakeholders
• O aprendizado obtido em uma iteração pode
ser aplicado para melhorar o processo nas
iterações subsequentes
12
Priorização de casos de
uso
• A priorização de casos de uso contribui
para a mitigação dos riscos
• Iterações devem ser organizadas
priorizando os casos de uso críticos:
o Casos de uso fortemente dependentes das
tecnologias que serão utilizadas no projeto
o Casos de uso relativos a requisitos não-funcionais
como escalabilidade e desempenho
o Casos de uso complexos, seja do ponto de vista
de implementação ou de negócio
o Casos de uso com alto valor de negócio
13
Fases do PAS
• Uma fase é o tempo
decorrido entre dois
marcos principais,
contendo uma ou
mais iterações
• Em cada fase são
executadas um
conjunto de tarefas
transversais
denominadas
disciplinas
14
Fases do PAS
• Visão geral das fases durante o ciclo de vida
iterativo (exemplo)
15
Fases do PAS
• Concepção
• Devido ao enfoque acadêmico a fase de concepção é opcional no PAS
• O PAS não considera a viabilidade, busca apenas uma visão inicial para
se trabalhar o sistema
• Objetivos principais
• Definição do escopo do sistema
• Definição da arquitetura candidata
• Marco: definição do escopo do sistema
• Geralmente contempla apenas uma iteração
16
Fases do PAS
• Elaboração
o Tem como propósitos estabelecer as bases para capacidade de
construção do sistema, identificar requisitos e gerenciar os riscos de nível
mais alto
o Principais objetivos
• Captar a maioria dos requisitos funcionais
• Validar a arquitetura candidata
• Estabelecer um ambiente de desenvolvimento em nível de
“produção industrial”
o Marco: estabelecimento da arquitetura do sistema
17
Fases do PAS
• Construção
o Todos os componentes e características restantes da
aplicação são desenvolvidos, testados e integrados ao
produto
o É, de certo modo,um processo industrial, no qual é enfocado
o gerenciamento de recursos, prazos e qualidade
o Principais objetivos:
• Esclarecer os requisitos restantes
• Concluir análise, desenvolvimento e teste de todas as
funcionalidades necessárias
• Desenvolver um produto completo que esteja pronto para
validação
o Marco: código-fonte de um sistema operacional quase
completo
18
Fases do PAS
• Validação
o Tem como foco assegurar que o sistema esteja disponível para seus
clientes finais e realizar o ajuste fino do produto
o Principais objetivos:
• Entregar e implantar o produto gerado no ambiente do cliente
• Corrigir defeitos e modificar o sistema para corrigir problemas não
identificados previamente
o Marco: liberação do produto
19
Disciplinas do PAS
• Requisitos: responsável pela obtenção do um conjunto de
requisitos de um produto de software. Delimita o escopo e os
requisitos do sistema a ser desenvolvido e fornece uma base
para estimar o custo e o tempo de desenvolvimento do sistema.
Também define um protótipo de interface de usuário.
• Análise e Projeto: visa o detalhamento, a estruturação do
sistema, além da validação os requisitos. Dá forma ao domínio
do sistema e formula modelos estáticos e dinâmicos de um
produto concreto. Define a arquitetura para o sistema.
• Implementação e Testes: concretiza o projeto elaborado na
disciplina de Análise e Projeto em uma linguagem de
programação orientada a objetos. Testes são planejados e
executados.
• Planejamento e Gerência: concentra tarefas e atividades que
visam o planejamento, organização, direção e controle dentro
do processo de desenvolvimento de software. O principal papel
dessa disciplina chama-se Gerente de Projetos, que é o
responsável pela realização dos objetivos do projeto.
20
Outros elementos
• Artefatos: qualquer porção significativa de
informação interna ou disponível aos stakeholders
(e.g. documentos, código-fonte, protótipos)
• Papéis: funções que os indivíduos desempenham
no desenvolvimento do projeto. Artefatos são
produzidos por trabalhadores que desempenham
os papéis (e.g. analista, programador, gerente)
• Atividades: cada disciplina compreende um
conjunto de atividades. Cada atividade é uma
tarefa que um trabalhador em um papel executa a
fim de produzir um artefato (e.g. análise de
requisitos, implementação de caso uso)
21
Referências
• LARMAN, Craig. Utilizando UML e padrões: uma
introdução à análise e ao projeto orientados a
objeto e ao desenvolvimento iterativo. Porto
Alegre: Bookman, 2007, 3ª ed.
• BORGES, Rosemary P. Notas de aula. Disponível em
<www.cefetrn.br/~rosemary>.
• ALEIXO, Fellipe A. et al.Especificação do PAS.
Disponível em
<http://dietinf.ifrn.edu.br/doku.php?id=cursos:superi
ores:tads:praticas:pas:inicio>.
• SCOTT, Kendall. O processo unificado explicado.
Porto Alegre: Bookman, 2003.
22
Download

Processo Acadêmico Simplificado