Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento



Documentos relacionados
Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Processo Unificado (RUP)

Análise OO. Análise. Antónia Lopes Desenvolvimento C. Objectos 09/10. Antónia Lopes

Análise e Conc epç ão de Sist em as de Inform aç ão,qwurgxomrj(qj GH5HTXLVLWRV. Adaptado a partir de Gerald Kotonya and Ian Sommerville

Rock In Rio - Lisboa

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Engenharia de Software

Unified Software Development Process

Concepção e Elaboração

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Requisitos. Sistemas de Informações

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Engenharia de Software

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

MODELAGEM DE SISTEMA Apresentação

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Parte I Requirement Engineering. Gestão de Projectos Informáticos. Gestão do Âmbito (Scope Management) Requirement Engineering.

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Tecnologia e Sistemas de Informações

Processos de Desenvolvimento de Software

Gerência de Projetos

Sistemas de Informação I

Especialização em Engenharia de Software e Banco de Dados

APOO Análise e Projeto Orientado a Objetos. Requisitos

Engenharia de Software Sistemas Distribuídos

5. Métodos ágeis de desenvolvimento de software

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

Indice. Parte I - Um Modelo de Gestão de Projectos. Introdução... 1

Engenharia de Software

Engenharia de Requisitos

Programa do Módulo 2. Processo Unificado: Visão Geral

ENGENHARIA DE SOFTWARE I

Engenharia de Software

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Uma Introdução à Engenharia de Software

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Gestão do Risco e da Qualidade no Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Planejamento Iterativo

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

Introdução à Engenharia de Software

O Processo Unificado: Captura de requisitos

Engenharia de aplicações web

Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software. Requisitos de Software

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Engenharia de Software

Modelo de Domínio vs Modelo da Aplicação

Base de Dados para Administrações de Condomínios

REPROJETO DA ORGANIZAÇÃO COM SISTEMAS DE INFORMAÇÃO

Processo do Serviços de Manutenção de Sistemas de Informação

Logística e Gestão da Distribuição

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Feature-Driven Development

Universidade Paulista

Pós Graduação Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

PROFESSOR: CRISTIANO MARIOTTI

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Modelos de Qualidade de Produto de Software

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Engenharia de Software

sistemas de informação nas organizações

Modelos do Design de Software

Documento de Requisitos

CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT

PHC Serviços CS. A gestão de processos de prestação de serviços

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Objectivos de aprendizagem

MÉTRICAS DE SOFTWARE

Processo de Desenvolvimento Unificado

Serviço a Pedido ( On Demand ) da CA - Termos e Política de Manutenção Em vigor a partir de 1 de Setembro de 2010

Fase 1: Engenharia de Produto

Unified Process e MSF

Gestão de Projectos Informáticos Gestão do Âmbito (Scope Management)

Requisitos e Modelação

Governança de TI. ITIL v.2&3. parte 1

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Fundamentos de Engenharia de Software. Josino Rodrigues

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Metodologia e Gerenciamento do Projeto na Fábrica de Software

Laudon & Laudon MIS, 7th Edition. Pg. 1.1

Transcrição:

Desenvolvimento Iterativo Esta abordagem ao desenvolvimento assegura que o sistema cresce de forma incremental assegura que a complexidade se mantém controlada permite ainda obter rápido feedback de várias fontes: utilizadores, equipa de desenvolvimento e de teste o como resultado, o risco do projecto falhar é menor, a produtividade é melhor e a taxa de erros menor o há desde início progresso visível é uma forma efectiva de lidar com a mudança, a diferentes níveis o planear a aprendizagem o planear o feedback o planear a revisão de requisitos e desenho 18 Unified Process (UP) É um processo para desenvolvimento de software que cobre todo o ciclo de vida Guia a equipa de desenvolvimento o nas diversas actividades técnicas o nas diversas actividades de gestão que têm de ser levadas a cabo até à entrega do produto final. É um processo para projectos que usam Análise e Desenho OO Tem na sua base o Desenvolvimento Iterativo 19

Unified Process Tem 6 workflows de engenharia:! business modelling! requirements! analysis and design! implementation! test! deployment Tem 4 fases:! inception! elaboration! construction! transition Os vários workflows são seguidos linearmente em cada iteração de cada fase. O esforço dispendido em cada workflow depende da fase. 20 Unified Process 21

Unified Process Inception: Obtenção de uma visão aproximada do sistema. Estabelece o business case, definindo o âmbito e tamanho, avaliando a viabilidade e as estimativas de custo e tempo. Elaboration: Obtenção de uma visão refinada. Construção e implementação iterativa do núcleo da arquitectura do sistema, cobrindo a maioria dos requisitos identificados, nomeadamente os com mais risco. Construction: Construção iterativa do resto do sistema cobrindo os restantes requisitos elementos identificados como sendo de menor risco ou mais simples. Transition: Preparar o produto para o cliente. Testes beta, treino dos utilizadores, instalação. 22 Unified Process O número de iterações em cada fase e artefactos a serem produzidos em cada workflow não é fixo Deve ser escolhido de acordo com a dimensão e tipo do projecto e documentado no Development Case Workflow Artefacto Iteração Inception I1 Elaboration E1..En... Business Modelling modelo do domínio glossário ref Requirements modelo de casos de uso visão ref ref especificação suplementar ref Design modelo de desenho modelo de dados doc da arquitectura 23

Inception Nesta fase deve-se: Compreender o que é preciso construir. Determinar a visão e limitar o âmbito do sistema (construir vs comprar). Identificar quem são os interessados no sistema e o que esperam dele. Identificar as funcionalidades chave do sistema. Decidir quais as formas de utilizar o sistema (casos de uso) que são críticas ou mais importantes. Identificar os requisitos não funcionais críticos e determinar uma possível arquitectura e solução (pode envolver realização de protótipos). Compreender os custos, o escalonamento e os riscos associados ao projecto. 24 Inception Algumas das actividades que são tipicamente desenvolvidas nesta fase e artefactos produzidos (se trouxerem valor acrescentado) são: Actividade Descrição de alto nível dos objectivos, restrições e dos aspectos negociais e empresariais. Descrição dos requisitos funcionais. Descrição de outros requisitos. Descrição da terminologia chave do domínio. Descrição dos vários tipos de riscos e plano estabelecendo a forma como podem ser atenuados. Descrição do plano para a primeira iteração da fase elaboration. Documentos Business Case e Visão do Projecto Modelo de Casos de Uso Especificação Suplementar Glossário Lista de Riscos e Gestão de Riscos Plano de Iteração 25

Visão do Projecto e Business Case Documento que apresenta uma descrição de alto nível dos objectivos, restrições e dos aspectos negociais e empresariais do projecto. Entre outras coisas, apresenta: Descrição do produto do ponto de vista do contexto de negócio Descrição dos envolvidos (stakeholders), dos seus objectivos e problemas Descrição do produto, benefícios e diagrama de contexto Descrição das funcionalidades principais 26 Visão do Projecto e Business Case: Exemplo Histórico de Revisões Data Versão Descrição Autor <dd/mmm/yy> <x.x> <detalhes> <nome> Introdução <Descrição do propósito do documento> Descrição do Produto <Breve descrição do que deve ser o produto resultante do projecto. Benefícios e oportunidades de negócio; explica qual o problema a ser resolvido e porque vale a pena desenvolver um software para isso.> Contexto de Negócio <O domínio no qual o sistema será utilizado e qual o mercado. O sistema será desenvolvido para um cliente específico, é um produto a ser comercializado, ou é uma continuação de um projecto existente?> Descrição dos StakeHolders <Descrição das várias pessoas ou organizações que, de alguma forma, estão relacionadas com o sistema ou o podem influenciar (e.g., utilizadores, clientes, investidores, gestores de produto, analistas e designers, programadores, etc). Principais objectivos e problemas dos vários grupos.> Características do Produto <Descrição de alto nível do que o sistema deve fazer, em termos de características/serviços que os utilizadores podem observar/usar.> Outros Requisitos e Restrições <Requisitos de alto nível (usabilidade, fiabilidade, eficiência,etc) e interfaces externas, tecnologia, etc., que tenham impacto nos riscos e no custo do software> 27

Glossário Documento que apresenta a terminologia chave do domínio. Exemplo Histórico de Revisões Data Versão Descrição Autor <dd/mmm/yy> <x.x> <detalhes> <nome> Definições Termo Definição e Informação Aliases <nome/sigla do termo> <detalhes> 28 Requisitos Os requisitos são as capacidades e condições a que o sistema, e o projecto em geral, tem de satisfazer o Enquanto que os requisitos funcionais estão relacionados com o que o sistema tem de fazer (comportamento) modelo de casos de uso o a maior parte dos requisitos não funcionais estão relacionados com atributos de qualidade (-ities), por exemplo: o usabilidade o fiabilidade o desempenho o segurança o disponibilidade o manutenção o adaptabilidade o... 29 especificação suplementar

Atributos de Qualidade 30 Especificação Suplementar: Exemplo Histórico de Revisões Data Versão Descrição Autor <dd/mmm/yy> <x.x> <detalhes> <nome> Introdução <Descrição do propósito do documento> Funcionalidade Factores Humanos <detalhes> Tratamento e Registo de Erros <detalhes> Segurança <detalhes> Usabilidade Help <detalhes> Documentação <detalhes>... Desempenho <detalhes> Tempos de resposta <detalhes> Número de Pedidos <detalhes> Disponibilidade <detalhes> Uso de recursos (cpu/rede/...) <detalhes> 31

Caso de Estudo: Sistema POS para Posto de Venda Um sistema POS é usado, parcialmente, para registar vendas e pagamentos (típicas em lojas de revenda como os supermercados). O POS tem componentes de hardware tais como um computador e um leitor de código de barras e tem componentes de software, que controlam o seu comportamento. O POS estabelece o interface com outros sistemas computacionais como um sistema de controlo de stock e um sistema de cálculo de impostos. O POS deve suportar, de uma forma incremental, múltiplos clientes de variados tipos: cliente com poucos recursos com interface web, desktop pc com interface em JavaSwing, Pretende-se um sistema que possa ser facilmente adaptado para diferentes clientes com diferentes regras de negócio. 34 Caso de Estudo: Sistema POS para Posto de Venda Fronteira do Sistema Entidades Externas o Caixa o Sistema de gestão de stocks o Sistema de cálculo de impostos o Serviço de autorização de pagamentos Entidades Internas o Sistema POS 35

Análise OO 36