1 / 22

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

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.

bena
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Processo de Desenvolvimento de Software – PDSPAS – Processo Acadêmico Simplificado

  2. 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.

  3. 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 (RationalUnifiedProcess) - 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 TraceabilityofRequirements, 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.

  4. 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

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

  6. 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

  7. Desenvolvimento Iterativo • Você deve usar o desenvolvimento iterativo apenas em projetos que você deseja que sejam bem sucedidos. Martin Fowler

  8. 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 • 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

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

  10. Requisitos e processo iterativo

  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: • Casos de uso fortemente dependentes das tecnologias que serão utilizadas no projeto • Casos de uso relativos a requisitos não-funcionais como escalabilidade e desempenho • Casos de uso complexos, seja do ponto de vista de implementação ou de negócio • 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 • 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 • Principais objetivos • Captar a maioria dos requisitos funcionais • Validar a arquitetura candidata • Estabelecer um ambiente de desenvolvimento em nível de “produção industrial” • Marco: estabelecimento da arquitetura do sistema

  17. Fases do PAS • Construção • Todos os componentes e características restantes da aplicação são desenvolvidos, testados e integrados ao produto • É, de certo modo,um processo industrial, no qual é enfocado o gerenciamento de recursos, prazos e qualidade • 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 • Marco: código-fonte de um sistema operacional quase completo

  18. Fases do PAS • Validação • Tem como foco assegurar que o sistema esteja disponível para seus clientes finais e realizar o ajuste fino do produto • 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 • 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:superiores:tads:praticas:pas:inicio>. • SCOTT, Kendall. O processo unificado explicado. Porto Alegre: Bookman, 2003.

More Related