22
Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Embed Size (px)

Citation preview

Page 1: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Processo de Desenvolvimento de

Software – PDS

PAS – Processo Acadêmico

Simplificado

Page 2: 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

Page 3: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 4: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 5: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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 arquiteturao Estratégia de mitigação de riscos

5

Page 6: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 7: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Desenvolvimento Iterativo

• Você deve usar o desenvolvimento iterativo apenas em projetos que você deseja que sejam bem sucedidos.

Martin Fowler

7

Page 8: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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 detalheo 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

Page 9: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Requisitos e processo iterativo

• O processo iterativo e incremental resulta em um melhor tratamento dos requisitos instáveiso 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

Page 10: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Requisitos e processo iterativo

10

Page 11: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

11

Page 12: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 13: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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 projetoo Casos de uso relativos a requisitos não-

funcionais como escalabilidade e desempenhoo Casos de uso complexos, seja do ponto de

vista de implementação ou de negócioo Casos de uso com alto valor de negócio

13

Page 14: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 15: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

Fases do PAS• Visão geral das fases durante o ciclo de vida

iterativo (exemplo)

15

Page 16: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 17: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 18: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 19: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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 previamenteo Marco: liberação do produto

19

Page 20: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 21: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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

Page 22: Processo de Desenvolvimento de Software – PDS PAS – Processo Acadêmico Simplificado

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:superiores:tads:praticas:pas:inicio>.

• SCOTT, Kendall. O processo unificado explicado. Porto Alegre: Bookman, 2003.

22