Engenharia de Software II

Documentos relacionados
Engenharia de Software. Herbert Rausch Fernandes

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Modelos Prescritivos de Processo

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Modelos Prescritivos de Processo

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Processos de software

Engenharia de Software

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

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

Processos de Software

Informática I. Aula Aula 21-29/11/06 1

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

Processos de Software

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Processo de Desenvolvimento de Software

Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

MODELOS DE PROCESSOS (PARTE 2)

ARQUITETURA E DESENHO

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO

Processo Unificado (PU) Unified Process

ENGENHARIA DE SOFTWARE

Requisitos de Sistemas

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Processos de Software

Visão Geral do RUP (Rational Unified Process)

Aula 3.1 Introdução e Visão Geral do Processo Unificado

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Modelo de Desenvolvimento Concorrente

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

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

2. Processos em Engenharia de Software

RUP RATIONAL UNIFIED PROCESS

Rational Unified Process (RUP)

Processos de. Desenvolvimento de Software

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Princípios da Engenharia de Software aula 03

RUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES. Prof. Fabiano Papaiz IFRN

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Visão Geral do RUP.

Engenharia de Software

Introdução ao RUP Rational Unified Process

Processo de Desenvolvimento. Edjandir Corrêa Costa

RUP/PSDS. Introdução e Comparação

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Engenharia Software. Ení Berbert Camilo Contaiffer

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

ENGENHARIA DE SOFTWARE

ATIVIDADE PRÁTICA. Questão 2/10 - Engenharia de Software

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

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

Engenharia de Software

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

UML e seus diagramas

Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Modelos de Processo de Software

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Processos de Software

Engenharia de Software II

Processos de Software

Aula 2 Processo de Software

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

ENGENHARIA DE SOFTWARE

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

Introdução ao Processo Unificado. Prof. Edjandir Corrêa Costa

Prof. Dr. Thiago Jabur Bittar

RUP Unified Process. Profª Jocelma Rios

Processo Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Engenharia de Software I - Aula 04

PROCESSO DE SOFTWARE

Engenharia de Software Processo de Desenvolvimento de Software

Verificação e Validação (V & V)

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Halison Miguel Edvan Pontes

Engenharia de Software

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Processo de Elaboração de Software. Ciclo de Vida

Transcrição:

Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1

Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos evolucionários Modelo de prototipagem Modelo espiral Modelo de desenvolvimento concorrente Modelos especializados de processo Desenvolvimento baseado em componentes Modelo de métodos formais Desenvolvimento orientado a aspectos Aula 4-03/05/2006 2

Comparação Modelo Incremental Atividades fixas do modelo em cascata são usadas em cada incremento. Objetiva a elaboração de um produto operacional a cada incremento, que pode ser testado. Modelo Espiral As atividades não são fixas, cada loop se concentra mais em uma determinada atividade. A análise de riscos é uma atividade essencial no modelo. Aula 4-03/05/2006 3

Modelo de Desenvolvimento Concorrente Todas as atividades ocorrem em paralelo mas estão em diferentes estados. O modelo define uma série de eventos que vão disparar transições de estado para estado, para cada uma das atividades. Em vez de usar uma seqüência como o modelo cascata, ele define uma rede de atividades. Pode ser aplicado a todo tipo de desenvolvimento de software e fornece uma visão exata de como está o estado do projeto. Aula 4-03/05/2006 4

Desenvolvimento Concorrente Nenhum Atividade de Modelagem Em desenvolvimento Aguardando modificações Sob inspeção Em revisão Transformado em referência Pronto Aula 4-03/05/2006 5

Desenvolvimento Concorrente Exemplo: Começo de projeto A atividade de comunicação completou sua primeira iteração e está no estado aguardando modificações. A atividade de modelagem passa do estado nenhum para o estado em desenvolvimento. Se o cliente requere mudança nos requisitos, a modelagem passa de em desenvovimento para aguardando modificações e a comunicação passa de aguardando modificações para em revisão. Aula 4-03/05/2006 6

Desenvolvimento Baseado em Componentes Compõe aplicações a partir de componentes de software previamente preparados. Segue os seguintes passos implantados com uma abordagem evolucionária: 1. Pesquisa e avaliação de componentes disponíveis para o domínio em questão. 2. Considerações sobre a integração de componentes. 3. Projeto de arquitetura de software. 4. Integração dos componentes à arquitetura. 5. Testes para garantir a funcionalidade adequada. Aula 4-03/05/2006 7

Vantagens do desenvolvimento baseado em componentes Leva ao reuso de software, que segundo estudos tem como consequências: Redução significativa do prazo de desenvolvimento. Redução significativa no custo do projeto. Aumento do índice de produtividade. Em que situações o desenvolvimento baseado em componentes não é adequado? Aquelas em que não existam componentes padrão disponíveis ou em que não se queira pagar pelos componentes. Aula 4-03/05/2006 8

Modelo de Métodos Formais Métodos formais permitem ao engenheiro de software especificar, desenvolver e verificar um sistema aplicando uma rigorosa notação matemática. Uma variante chamada engenharia de software sala limpa é aplicada por algumas organizações. Aula 4-03/05/2006 9

Vantagens dos métodos formais 1. Elimina muitos problemas encontrados nos outros modelos: ambigüidade incompletitude inconsistência 2. Servem de base para a verificação de programas, oferecendo a promessa de um software livre de defeitos. 3. Apropriado para softwares críticos (por exemplo, de aeronaves e dispositivos médicos). Aula 4-03/05/2006 10

Desvantagens dos métodos formais 1. O desenvolvimento de modelos formais é atualmente muito lento e dispendioso. 2. Exige treinamento extensivo para dar aos desenvolvedores o preparo necessário. 3. É difícil usar os modelos como um mecanismo de comunicação com a maioria dos clientes. Aula 4-03/05/2006 11

Desenvolvimento Orientado a Aspectos É um paradigma novo de engenharia de software que fornece mecanismos para definir, especificar, projetar e construir aspectos. Aspectos=preocupações do cliente que permeiam diversos níveis do sistema, incluindo: Propriedades de alto nível (ex: segurança, tolerância a falha). Funções (ex: aplicação de regras de negócio). Sistêmicas (ex: sincronização e gestão de memória). Um processo orientado a aspectos ainda não foi totalmente desenvolvido, mas deve adotar características do modelo espiral e do modelo concorrente. Aula 4-03/05/2006 12

O Processo Unificado É uma tentativa de unir os melhores recursos e características dos modelos convencionais. Reconhece a importância da comunicação com o cliente e dos casos de uso para descrever a visão do cliente Utiliza a UML como a notação para modelagem e análise de projeto. Sugere um fluxo de processo que é iterativo e incremental. Também conhecido como RUP (de Rational Unified Process) a Rational construiu ferramentas de apoio ao processo unificado. Aula 4-03/05/2006 13

Histórico do Processo Unificado Década de 1980: popularização dos métodos de programação orientada a objeto (OO) levando a métodos variados de análise e projeto OO. Início da década de 1990: Rumbaugh, Booch e Jacobson começaram a trabalhar em um método unificado, que resultou na UML. A UML tornou-se uma norma industrial. A Rational e outros vendedores desenvolveram ferramentas UML. Final da década de 1990: Jacobson, Rumbaugh e Booch desenvolvem o Processo Unificado, um arcabouço para engenharia de software OO. Hoje em dia o PU e a UML são amplamente usados em projetos OO de todas as naturezas. Aula 4-03/05/2006 14

Fases do Processo Unificado 1. Concepção: abrange atividades de comunicação com o cliente e de planejamento. Requisitos de negócio usando casos de uso preliminares. Arquitetura geral do sistema com os principais subsistemas e funções. Planejamento com recursos, riscos e cronogramas. Aula 4-03/05/2006 15

Fases do Processo Unificado 2. Elaboração: abrange as atividades de comunicação com o cliente, planejamento e modelagem. Refina e expande os casos de uso preliminares. Expande a representação arquitetural para incluir cinco visões diferentes: O modelo de casos de uso. O modelo de análise. O modelo de projeto. O modelo de implementação. O modelo de implantação. O plano é revisto e pode ser modificado. Aula 4-03/05/2006 16

Fases do Processo Unificado 3. Construção: idêntica a atividade de construção no processo genérico. Usa o modelo arquitetural como entrada. Desenvolve ou adquire e integra componentes de software. Torna cada caso de uso operacional. Modelos de análise e projeto são completados. Testes são elaborados e executados. Aula 4-03/05/2006 17

Fases do Processo Unificado 4. Transição: abrange atividades de construção e implantação. O software é dado aos usuários finais para testes beta e relatórios de feedback que podem levar a modificações. Informações de apoio necessárias são criadas (manuais e procedimentos de instalação). Na conclusão dessa fase tem-se uma versão utilizável do software. Aula 4-03/05/2006 18

Fases do Processo Unificado 5. Produção: abrange atividades de implantação. O uso do software é monitorado. É fornecido suporte para o ambiente de operação. Os relatórios de defeito e solicitações são recebidos e avaliados. Aula 4-03/05/2006 19

Processo Unificado É um processo incremental. Enquanto acontecem as fases de construção, transição e produção, já pode ser iniciado o incremento seguinte. Um fluxo de trabalho de engenharia de software é distribuído ao longo de todas as fases do PU. Identifica as tarefas exigidas para realizar uma ação importante de engenharia de software. Aula 4-03/05/2006 20

Principais Produtos de Trabalho do Processo Unificado Concepção: Documento de visão Modelo inicial de caso de uso Glossário inicial do projeto Caso de negócio inicial Avaliação inicial de risco Plano de projeto Modelo de negócio Um ou mais protótipos Aula 4-03/05/2006 21

Principais Produtos de Trabalho do Processo Unificado Elaboração: Modelo de caso de uso Requisitos suplementares Modelo de análise Descrição da arquitetura do software Protótipo arquitetural executável Modelo de projeto preliminar Lista de risco revisada Plano de projeto incluindo planos de iteração, fluxos de trabalho adaptados, marcos, produtos técnicos de trabalho Manual preliminar do usuário. Aula 4-03/05/2006 22

Principais Produtos de Trabalho do Processo Unificado Construção: Modelo de projeto Componentes de software Incremento integrado de software Plano e procedimento de teste Caso de teste Documentação de apoio Manuais do usuário Manuais de instalação Descrição do incremento atual Aula 4-03/05/2006 23

Principais Produtos de Trabalho do Processo Unificado Transição: Incremento de software entregue Relatório de teste beta Realimentação geral do usuário Aula 4-03/05/2006 24