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.

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Engenharia de Software
Rational Unified Process
Engenharia de Software
O Processo Praxis 3.0 Processos de Software 25/03/2017
Engenharia de Software
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
INTRODUÇÃO A INFORMÁTICA
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
MO409 / Engenharia de Software I - 1º Semestre / Prof. Eliane 1 1ª Apresentação (A1) Modelos de Processos de Software RA: / Edson Amorina.
Gestão de projetos de Software GTI-16
Processos de Desenvolvimento de Software
Processo Desenvolvimento de Software Tradicional
Implementação de Sistemas
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Como Desenvolver Sistemas de Informação
Introdução ao RUP Rational Unified Process
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Alunos: Artulanez Souza Iony Melo
RUP Prof.ª Elaine B. Figueiredo.
Rational Unified Process
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
RUPinho Qualidade de Software
Técnicas e Projeto de Sistemas
Processos Tradicionais de Desenvolvimento de Software
Visão Geral PRO.NET.
Visão Geral do RUP.
Fundamentos de Engenharia de SW
Cap 2 – Processo de Software
Avaliação do RUP como processo para desenvolvimento de software
Processos de Desenvolvimento de Software – Parte 2
Fase de Elaboração: Fluxo de Requisitos
Processo Praxis – Fase de Concepção
Análise e Projeto de Sistemas
Análise e Projeto de Sistemas
Prof. Alexandre Vasconcelos
Modelos de Processo de Software
Análise e Desenvolvimento de Software
Técnicas e Projeto de Sistemas
PSBD II Projeto de Sistemas de Banco de Dados II
Especificação em Projeto de Sistemas
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE – PDS VALIDAÇÃO.
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
RUP - Cap. 5 – Processo Iterativo e Incremental
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software
Processo de Desenvolvimento de Software – PDS C Construção - PAS
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Processos de Software.
Técnicas e Projeto de Sistemas
Introdução a um Processo de Desenvolvimento Orientado a Objeto
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Processo de Desenvolvimento de Software – PDS
Engenharia de Software
Engenharia de Software
Engenharia de Software
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Dimitri de Almeida Malheiros Barbosa
Desenvolvimento de Software I
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Transcrição da apresentação:

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.

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.

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

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

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

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

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

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

Requisitos e processo iterativo

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

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

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

Fases do PAS Visão geral das fases durante o ciclo de vida iterativo (exemplo)

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

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

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

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

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.

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)

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.