Sistemas de Informação I

Documentos relacionados
Engenharia de Software II

Engenharia de Software

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

Engenharia de Software

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

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

DSI é o processo cujo objetivo é introduzir mudanças num sistema de informação, com objetivo de melhorar o seu desempenho.

PROFESSOR: CRISTIANO MARIOTTI

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

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

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

ENG1000 Introdução à Engenharia

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

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

Engenharia de Software Processo de Desenvolvimento de Software

Pós Graduação Engenharia de Software

Qualidade de Software. Anderson Belgamo

ENGENHARIA DE SOFTWARE I

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

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

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I Aula 3

Professor: Curso: Disciplina:

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

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

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

Engenharia de Software II

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

Segurança de Aplicações Aula 6

Engenharia de Software II

O que é software? Software e Engenharia de Software. O que é software? Tipos de Sistemas de Software. A Evolução do Software

Modelo Cascata ou Clássico

Processos de Desenvolvimento de Software

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

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

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Processo de Desenvolvimento Unificado

Processos de Software

ISO/IEC 12207: Gerência de Configuração

Prof. Me. Marcos Echevarria

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Notas de Aula 02: Processos de Desenvolvimento de Software

Sistemas de Informação I

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 Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software

Introdução Engenharia de Software

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

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

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

Características do Software

Engenharia da Web. Professor MSc Wylliams Barbosa Santos Disciplina: Projeto de Sistemas Web wylliams.wordpress.com

Gerenciamento de projetos.

Universidade Paulista

Ciclo de Vida Clássico ou Convencional CICLOS DE VIDA DE DESENVOLVIMENTO DE SISTEMAS. Ciclo de Vida Clássico ou Convencional. Enfoque Incremental

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

PROJETO DE FÁBRICA DE SOFTWARE

Engenharia de Software

Introdução ao Processo Unificado (PU)

Modelos do Design de Software

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

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

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

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

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

Processo Unificado (RUP)

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

Desenvolvimento Ágil de Software

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Engenharia de Software

Análise de Pontos por Função

A Disciplina Gerência de Projetos

Metodologia de Gerenciamento de Projetos da Justiça Federal

SAM GERENCIAMENTO DE ATIVOS DE SOFTWARE

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

Gerência de Configuração de Software Funções

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

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

O Processo de Desenvolvimento de Software

! Software e Engenharia de Software! Engenharia de Software e Programação! Histórico. " Crise do Software

Engenharia de Sistemas Computacionais

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Projeto de Sistemas I

CICLO DE EVENTOS DA QUALIDADE

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

GESTÃO E OTIMIZAÇÃO DE PROCESSOS. Vanice Ferreira

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI

Introdução. AULA 2 A Organização empresarial e a gestão de projetos. Tema relevante em diversas áreas

Desenvolvendo Software Livre com Programação extrema

Manutenção e Ferramentas CASE. Marcos L. Chaim Segundo Bimestre 2003 Mestrado Profissional IC/Unicamp

5. Métodos ágeis de desenvolvimento de software

Extração de Requisitos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

Transcrição:

+ Sistemas de Informação I Processo de software I Ricardo de Sousa Britto rbritto@ufpi.edu.br

+ O que é Engenharia de Software n Definição dada pela IEEE [IEE93]: n Aplicação de uma abordagem sistemática, disciplinada, e quantificável, para o desenvolvimento, operação e manutenção de software. n O estudo de abordagens sistemáticas, disciplinadas e quantificáveis.

+ ES como uma Tecnologia em Camadas Ferramentas Métodos Processo Foco na Qualidade

+ Foco na Qualidade n Qualquer abordagem de engenharia deve se apoiar no compromisso com a qualidade. n A cultura de processo contínuo de aperfeiçoamento leva a abordagens cada vez mais efetivas para a ES. n A base em que a ES se apoia é o foco na qualidade.

+ Camada de Processo n É o alicerce da engenharia de software. n O processo de ES funciona como um adesivo que mantém unidas as outras camadas. n O processo define um arcabouço que deve ser estabelecido para a utilização das tecnologias existentes. n Formam a base para controle de projetos e estabelecem o contexto onde são aplicados os vários métodos.

+ Camada de Métodos n Fornecem técnicas para a construção dos softwares. n Abragem um amplo conjunto de tarefas: n Comunicação n Análise de requisitos n Modelagem de projeto n Construção de programas n Testes e manuntenção

+ Camada de Ferramentas n Fornecem apoio automatizado ou semi-automatizado para o processo e para os métodos. n Engenharia de software apoiada por computador: Utiliza ferramentas que dão apoio ao desenvolvimento.

+ Arcabouço de Processo n Estabelece um alicerce para um processo de software por meio de: n Atividades de Arcabouço: Aplicáveis a todos os projetos de software. n Atividades Guarda-chuva: Aplicáveis durante todo o processo de software.

+ Arcabouço de Processo Processo de software Arcabouço de processo Atividades Guarda-chuva Atividade de arcabouço 1 Ação de ES 1.1 Conjunto de tarefas Ação de ES 1.k Conjunto de tarefas Atividade de arcabouço n Ação de ES n.1 Conjunto de tarefas Ação de ES n.k Conjunto de tarefas

+ Atividade de Arcabouço n Preenchida por um conjunto de ações de ES, que são coleções de tarefas relacionadas. n Cada ação é preenchida por tarefas de trabalho individuais que realizam alguma parte do trabalho determinado pela ação.

+ Atividade de Arcabouço n Para exemplificar, podemos determinar um arcabouço de processo genérico, com as seguintes atividades: n Comunicação (Interação com cliente) n Planejamento (Planejamento de tarefas, recursos, riscos, cronograma) n Modelagem (Criação de modelos) n Construção (Geração de código e testes) n Implantação (Entrega de software a cliente)

+ Ações de Engenharia n Para exemplificar uma ação de engenharia, usaremos a atividade de Modelagem do arcabouço genérico. n Ela é composta por duas ações de ES: n Análise - Levantamento, elaboração, negociação, especificação e validação de requisitos (modelos de análise). n Projeto Projeto de dados, projeto arquitetural, projeto de interface e projeto de componentes (modelo).

+ Conjuntos de Tarefas n Cada ação de ES é representada por um número diferente de conjuntos de tarefas. n Cada conjunto é na realidade uma coleção de: n tarefas de trabalho de ES n produtos de trabalho relacionados n pontos de garantia de qualidade n Marcos de projeto n O conjunto escolhido é o que melhor se adapta ao projeto e a equipe envolvida no projeto.

+ Atividades Guarda-chuva n Atividades que servem de apoio às atividades de arcabouço. n Atividades típicas dessa categoria: n Acompanhamento e controle de projeto de software (avaliação de progresso) n Gestão de risco (Avaliação de riscos) n Garantia de qualidade de software (Definição de atividades para garantia de qualidade) n Revisões técnicas formais (Descobrir e remover erros) n Medição (Medidas para satisfação de usuário) n Gestão de configuração de software (Gerencia efeitos de modificação no software) n Gestão de reusabilidade (Critérios para reutilização de componentes) n Preparação e produção do produto do trabalho ( Criação de modelos, documentos, registros, formulários)

+ Modelos de Processo n Modelos prescritivos: Enfatizam a definição, identificação e aplicação detalhada de atividades e tarefas de processo (Modelo em Espiral). n Modelos ágeis: Enfatizam a agilidade do projeto utilizando abordagens mais informais, enfatizando manobrabilidade e adaptabilidade (Scrum).

+ Modelos Prescritivos de Processo n Propostos originalmente para se colocar ordem no caos no desenvolvimento de software. n Historicamente esses modelos fornecem uma estrutura útil para o trabalho de ES. n São chamados de prescritivos porque prescrevem um conjunto de elementos de processo e um fluxo de trabalho.

+ Modelo em Cascata n O modelo em cascata ou ciclo de vida clássico, sugere uma abordagem sistemática e sequêncial. n É o paradigma mais antigo da ES. n Críticas a esse modelo levantaram a existência de determinados problemas: n Fluxo sequêncial é muito raro no desenvolvimento de softwares modernos. n Dificuldade por parte do cliente de estabelecer os requisitos do sistema. n Demora na disponibilização de versões beta de um software.

+ Modelo em Cascata Comunicação I Planejamento II Modelagem III Construção IV Implantação V I. Iniciação de projeto e levantamento de requisitos. II. Estimativas, cronogramação e monitoração. III. Análise e projeto. IV. Codificação e teste. V. Entrega, manuntenção e feedback.

+ Modelo em Cascata n A natureza linear desse modelo leva a estados de bloqueio, nos quais membros da equipe as vezes tem que esperar os outros. n O tempo gasto em espera as vezes pode exceder o tempo gasto produtivamente. n Uma vez que atualmente o desenvolvimento de software é muito rápido e dinâmico, esse modelo se torna inadequado. n Pode servir em situações onde os requisitos são fixos e o trabalho deve seguir ate o fim de modo linear.

+ Modelo em Cascata M M M M Projetos reais raramente seguem o fluxo sequencial que o modelo propõe Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento

+ Modelo em Cascata n O modelo Cascata trouxe contribuições importantes para o processo de desenvolvimento de software: n o processo de desenvolvimento de software deve ser sujeito à disciplina, planejamento e gerenciamento; n a implementação do produto deve ser postergada até que os objetivos tenham sido completamente entendidos.

+ Modelo Incremental n Combina elementos do modelo em cascata, aplicando-os de maneira iterativa. n Cada sequência linear produz incrementos de software passíveis de serem entregues.

+ Modelo Incremental

+ Modelo Incremental n Se o primeiro incremento tiver sucesso, pode se contratar pessoas extras pra equipe. n Os incrementos podem ser planejados para gerir riscos. n Se a equipe não possui conhecimento de determinada ferramenta, no primeiro incremento pode não se usá-la.