Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição



Documentos relacionados
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

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

Engenharia de Software

Engenharia de Software II

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

O Processo Unificado

Processos de Software

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Processo de Software - Revisão

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Gerência de Projetos Prof. Késsia Rita da Costa Marchi 3ª Série

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

PROJETO DE FÁBRICA DE SOFTWARE

Gerenciamento da Integração (PMBoK 5ª ed.)

Introdução ao Processo Unificado (PU)

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

Engenharia de Software II

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

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

Engenharia de Software Aula 8 (Versão )

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Unidade II MODELAGEM DE PROCESSOS

Gerenciamento de Projetos Modulo VIII Riscos

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

Processos de gerenciamento de projetos em um projeto

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

POLÍTICA DE GESTÃO DE RISCO - PGR

Visão Geral Parte 1. O que é engenharia de software?

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

3. Fase de Planejamento dos Ciclos de Construção do Software

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

Eduardo Bezerra. Editora Campus/Elsevier

Projeto. Gerenciamento de Projeto de Software. Tópicos abordados. Características básicas de um projeto. Definição

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

29/05/2012. Gestão de Projetos. Luciano Gonçalves de Carvalho FATEC. Agenda. Gerenciamento de Integração do Projeto Exercícios Referências FATEC

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Introdução ao Gerenciamento de Projetos. Prof. Ivan Bottger

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

Capítulo 23 Planejamento de Projeto. Aula 1 Cronograma do Projeto

08/05/2009. Cursos Superiores de. Prof.: Fernando Hadad Zaidan. Disciplina: PIP - Projeto Integrador de Pesquisa. Objetivos gerais e específicos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Sumário. Introdução ao Microsoft Project. 1 Microsoft Project, gerenciamento de projetos e você 3. 2 Visão geral do Project 11.

Modelos de Processo (métodos)

c. Técnica de Estrutura de Controle Teste do Caminho Básico

ESTÁGIO DE NIVELAMENTO DE GERENCIAMENTO DE PROJETOS ESCRITÓRIO DE PROJETOS DO EXÉRCITO

Project Management Body of Knowledge

Unidade I Conceitos BásicosB. Conceitos BásicosB

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Modelos para Estimativas de Custo. Hermano Perrelli

Professor: Curso: Disciplina:

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

Especificação Operacional.

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

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

ITIL v3 - Operação de Serviço - Parte 1

Planejamento, Desenvolvimento e Implementac a o de Sistemas

Engenharia de Software

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

Resolução da lista de exercícios de casos de uso

Introdução à Engenharia de Software. Profª Jocelma Rios

Com metodologias de desenvolvimento

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Análise e Projeto de Sistemas

Gestão dos Prazos e Custos do Projeto

3 Qualidade de Software

DESENVOLVENDO O SISTEMA

Módulos QM de sistemas ERP ou MES X Sistemas LIMS?

Introdução. Escritório de projetos

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução a Engenharia de Software

2 Engenharia de Software

Sistemas Operacionais. Prof. André Y. Kusumoto

Engenharia de Software II

Gerenciamento das Aquisições do Projeto (PMBoK 5ª ed.)

Integrando o Framework I* com a Gerência de Risco

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Sistemas de Informação I

Modelagem de Sistemas

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Porque prototipar? Prototipagem e Cenários. Dilema. Prototipação. Artefatos do Design. Veja antes, decida depois. Prototipagem & Design Iterativo

Sistemas de Informação e Programação II Odorico Machado Mendizabal

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Auditoria de Sistemas de Informação. Everson Santos Araujo

Gerenciamento de Requisitos

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

QUESTIONÁRIO DE AVALIAÇÃO Primeira Fase

Princípios do teste de software

Qualidade de Software

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Apresentação da Disciplina Processo de Software

Gerenciamento de Projeto: Planejando os Riscos. Prof. Msc Ricardo Britto DIE-UFPI

Transcrição:

Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier 1

Capítulo 2 Processo de Desenvolvimento de Software Quanto mais livros você leu (ou escreveu), mais as aulas você assistiu (ou lecionou), mais linguagens de programação você aprendeu (ou projetou), mais software OO você examinou (ou produziu), mais documentos de requisitos você tentou decifrar (ou tornou decifrável), mais padrões de projeto você aprendeu (ou catalogou), mais reuniões você assistiu (ou conduziu), mais colegas de trabalho talentosos você teve (ou contratou), mais projetos você ajudou (ou gerenciou), tanto mais você estará equipado para lidar com um novo desenvolvimento. - Bertrand Meyer 2

Software is hard Porcentagem de projetos que terminam dentro do prazo estimado: 10% Porcentagem de projetos que são descontinuados antes de chegarem ao fim: 25% Porcentagem de projetos acima do custo esperado: 60% Atraso médio nos projetos: um ano. Fonte: Chaos Report (1994) 3

Processo de desenvolvimento Tentativas de lidar com a complexidade e de minimizar os problemas envolvidos no desenvolvimento de software envolvem a definição de processos de desenvolvimento de software. Um processo de desenvolvimento de software (PDS) compreende todas as atividades necessárias para definir, desenvolver, testar e manter um produto de software. 4

Processo de desenvolvimento Exemplos de processos de desenvolvimento existentes: ICONIX RUP EUP XP OPEN Alguns objetivos de um processo de desenvolvimento são: Definir quais as atividades a serem executadas ao longo do projeto; Definir quando, como e por quem tais atividades serão executadas; Prover pontos de controle para verificar o andamento do desenvolvimento; Padronizar a forma de desenvolver software em uma organização. 5

2.1 Atividades típicas de um PDS 2.2 O componente humano em um PDS 6

Atividades típicas de um PDS Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco do livro 7

Participantes do processo Gerentes de projeto Analistas Projetistas Arquitetos de software Programadores Clientes Avaliadores de qualidade 8

Participação do usuário A participação do usuário durante o desenvolvimento de um sistema extremamente é importante. 9

2.3 Modelos de ciclo de vida 10

Modelo de ciclo de vida Um ciclo de vida corresponde a um encadeamento específico das fases para construção de um sistema. Dois modelos de ciclo de vida: modelo em cascata modelo iterativo e incremental. 11

Modelo em cascata Esse modelo apresenta uma tendência para a progressão seqüencial entre uma fase e a seguinte. 12

Modelo em cascata Projetos reais raramente seguem um fluxo seqüencial. Assume que é possível declarar detalhadamente todos os requisitos antes do início das demais fases do desenvolvimento. propagação de erros pelas as fases do processo. Uma versão de produção do sistema não estará pronta até que o ciclo do projeto de desenvolvimento chegue ao final. 13

Modelo de iterativo e incremental Divide o desenvolvimento de um produto de software em ciclos. Em cada ciclo de desenvolvimento, podem ser identificadas as fases de análise, projeto, implementação e testes. Cada ciclo considera um subconjunto de requisitos. Esta característica contrasta com a abordagem clássica, na qual as fases são realizadas uma única vez. 14

Modelo iterativo e incremental Desenvolvimento em mini-cascatas. 15

Modelo iterativo e incremental Iterativo: o sistema de software é desenvolvido em vários passos similares. Incremental: Em cada passo, o sistema é estendido com mais funcionalidades. 16

Modelo iterativo e incremental vantagens e desvantagens Incentiva a participação do usuário. Riscos do desenvolvimento podem ser mais bem gerenciados. Um risco de projeto é a possibilidade de ocorrência de algum evento que cause prejuízo ao processo de desenvolvimento, juntamente com as conseqüências desse prejuízo. Influências: custos do projeto,cronograma, qualidade do produto, satisfação do cliente, etc. Mais difícil de gerenciar 17

Ataque os riscos Se você não atacar os riscos [do projeto] ativamente, então estes irão ativamente atacar você. (Tom Gilb). A maioria dos PDS que seguem o modelo iterativo e incremental aconselha que as partes mais arriscadas sejam consideradas inicialmente. Riscos não gerenciados PDS 18

2.4 Utilização da UML no modelo iterativo e incremental 19

UML no modelo iterativo e incremental A UML é independente do processo de desenvolvimento. Vários processos podem utilizar a UML para modelagem de um sistema OO. Os artefatos de software construídos através da UML evoluem à medida que o as iterações são realizadas. A cada iteração, novos detalhes são adicionados a esses artefatos. Além disso, a construção de um artefato fornece informações para adicionar detalhes a outros. 20

2.5 Prototipagem 21

Prototipagem A prototipagem é uma técnica aplicada quando: há dificuldades no entendimento dos requisitos do sistema há requisitos que precisam ser mais bem entendidos. A construção de protótipos utiliza ambientes com facilidades para a construção da interface gráfica. Procedimento geral da prototipagem: Após o LR, um protótipo é construído para ser usado na validação. Usuários fazem críticas... O protótipo é então corrigido ou refinado O processo de revisão e refinamento continua até que o protótipo seja aceito. Após a aceitação, o protótipo é descartado ou utilizado como uma versão inicial do sistema. 22

Prototipagem Note que a prototipagem NÃO é um substituto à construção de modelos do sistema. A prototipagem é uma técnica complementar à construção dos modelos do sistema. Mesmo com o uso de protótipos, os modelos do sistema devem ser construídos. Os erros detectados na validação do protótipo devem ser utilizados para modificar e refinar os modelos do sistema. 23

2.6 Ferramentas de suporte 24

Ferramentas de suporte O desenvolvimento de um software pode ser facilitado através do uso de ferramentas que auxiliam: na construção de modelos, na integração do trabalho de cada membro da equipe, no gerenciamento do andamento do desenvolvimento, etc. 25

Ferramentas de suporte Há diversos sistemas de software que são utilizados para dar suporte ao desenvolvimento de outros sistemas. Um tipo bastante conhecido de ferramenta de suporte são as ferramentas CASE. CASE: Computer Aided Software Engineering Além das ferramentas CASE, outras ferramentas importantes são as que fornecem suporte ao gerenciamento. desenvolver cronogramas de tarefas, definir alocações de verbas, monitorar o progresso e os gastos, gerar relatórios de gerenciamento, etc. 26

Ferramentas de suporte Criação e manutenção da consistência entre estes diagramas Round-trip engineering Depuração de código fonte Relatórios de testes Testes automáticos Gerenciamento de versões Verificação de desempenho Verificação de erros em tempo de execução Gerenciamento de mudanças nos requisitos Prototipagem 27