Processo de Software - Revisão



Documentos relacionados
Engenharia de Software

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

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

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

Processos de Software

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

Modelos de Processo (métodos)

Engenharia de Software II

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

Unidade I Conceitos BásicosB. Conceitos BásicosB

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

Engenharia de Software

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

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

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Engenharia de Software Unidade I Visão Geral

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

Engenharia de Software

Engenharia de Software

Diagrama de Casos de Uso

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

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

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

Gestão em Sistemas de Saúde

GERÊNCIA DE PROJETOS DE SOFTWARE. Introdução

REGULAMENTO DE ESTÁGIO NÃO OBRIGATÓRIO

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


2 Engenharia de Software

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

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

Porque estudar Gestão de Projetos?

MODELAGEM E SIMULAÇÃO

POLÍTICA DE GESTÃO DE PESSOAS DA SUPERINTENDÊNCIA NACIONAL DE PREVIDÊNCIA COMPLEMENTAR PREVIC

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

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

Uma Solução Simples e Prática para Gerenciar Requisitos, Visando a Qualidade do Software Guilherme Motta

Processos de gerenciamento de projetos em um projeto

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

PLANO DE ENSINO IDENTIFICAÇÃO. Eixo Tecnológico: Informação e Comunicação. Curso: Técnico em Informática. Forma/Grau: Subsequente.

O Processo Unificado

Gestão dos Prazos e Custos do Projeto

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Gerenciamento de Qualidade. Paulo C. Masiero Cap SMVL

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Atendimento de Demandas CTIC

Análise e Projeto de Software

Requisitos de Software

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

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

Engenharia de Software II

NORMA ISO Sistemas de Gestão Ambiental, Diretrizes Gerais, Princípios, Sistema e Técnicas de Apoio

DESENVOLVENDO O SISTEMA

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

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Concurso da Prefeitura São Paulo. Curso Gestão de Processos, Projetos e Tecnologia da Informação. Tema: Gestão de Projetos - Conceitos Básicos

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

ESTÁGIO SUPERVISIONADO

4. SISTEMAS DE APOIO À DECISÃO

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

Administração de Pessoas

UNIVERSIDADE DO OESTE PAULISTA CURSO DE ZOOTECNIA. Regulamento do Estágio Supervisionado I e II

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

Engenharia de Software

OBJETIVO DESENVOLVER UM MELHOR CONHECIMENTO DE SI MESMO E

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

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

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

Casos de uso Objetivo:

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

Gledson Pompeu 1. Cenário de TI nas organizações. ITIL IT Infrastructure Library. A solução, segundo o ITIL

Projeto de Desenvolvimento de Software

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

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

FACULDADE INTEGRADA DAS CATARATAS - FIC ESTÁGIO CURRICULAR NO CURSO DE ADMINISTRAÇÃO

Gerenciamento de Projetos. Faculdade Unisaber 2º Sem 2009

Programação Extrema. Luis Fernando Machado. Engenharia de Software

Diretrizes de Qualidade de Projetos

Qualidade de Software

Professor: Curso: Disciplina:

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE

Projeto em Planejamento Urbano e Regional III Prof. Edvaldo Gonçalves de Amorim

Profº Rogério Tavares

Política Gestão de Configuração e Mudança

Transcrição:

Processo de Software - Revisão Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Pressman, R. S. Engenharia de Software, McGraw-Hill, 6ª. Edição, 2006 Sommerville, I. Engenharia de Software, 8ª edição, 2007.

Sumário Introdução Conceitos Básicos Processo de Software Modelos de processo de Software e seus paradigmas Perguntas Comuns 2

Conceitos Básicos Métodos Métodos: proporcionam os detalhes de como fazer para construir o software. Envolvem um amplo conjunto de tarefas Um método de ES é uma aproximação estruturada para o desenvolvimento de software Objetivo: Produção de software de alta qualidade e com bom custo-benefício. 3

Conceitos Básicos Métodos devem incluir os seguintes componentes: Descrição gráficas. Descrições dos modelos do sistema que deverão ser desenvolvidos e da notação usada para os definir. Ex. Modelos de objetos, fluxos de dados etc. Regras Restrições que se aplicam a modelos de sistema. Ex.Cada entidade deve ter um único nome. 4

Conceitos Básicos Métodos devem incluir os seguintes componentes (cont.): Recomendações Conselho em prática de projeto. Ex. Nenhum objeto deve ter mais que sete subobjetos. Diretrizes de processo Descrição das atividades que podem ser seguidas. Ex. Atributos de objetos devem ser documentados. 5

Conceitos Básicos Ferramentas: fornecem suporte automatizado ou semi aos métodos. Existem atualmente ferramentas para sustentar cada um dos métodos Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering 6

Conceitos Básicos Procedimentos: constituem o elo de ligação que mantém juntos os métodos e as ferramentas para desenvolvimento do software. Seqüência em que os métodos serão aplicados Produtos (deliverables) que se exige que sejam entregues Controles que ajudam assegurar a qualidade e coordenar as alterações Marcos de referência que possibilitam administrar o progresso do software 7

Processos de Software Um processo de software é um método para desenvolver ou produzir software. A pesquisa em processo de software lida com métodos e tecnologias estimativas, suporte e melhoria das atividades de desenvolvimento de software. Define quem faz o que, quando e como. 8

Processo de Software Modelagem: é uma técnica de engenharia aprovada e bem aceita modelos de arquitetura de casas e de grandes prédios modelos matemáticos a fim de analisar os efeitos de ventos e tremores de terra --> causas O que é um MODELO? 9

Modelos É uma simplificação da realidade. Planos de detalhes, podem ser estruturais (organização do sistema) ou comportamentais (dinâmica do sistema) Modelos são construídos para permitir um melhor entendimento sobre o sistema que está sendo construído. Especificar a estrutura e comportamento Guia para construção do sistema Documentam as decisões tomadas Nenhum modelo único é suficiente. Conjunto de modelos independentes 10

11 Modelos

Objetivos da Modelagem Abstração Melhor entendimento e maior compreensão Visualização Visualização antecipada antes da implementação Visões complementares do software Especificação Descrição precisa do que deve ser feito Construção Geração automática com ferramentas baseadas em modelos Documentação Comunicação entre equipes na diferentes fases do ciclo de vida 12

Modelo X Processo Um modelo é algo teórico, um conjunto de possíveis ações. O processo deve determinar ações práticas a serem realizadas pela equipe como prazos definidos e métricas para se avaliar como elas estão sendo realizadas 13

Modelos de processo de software Um conjunto de atividades fundamentais exigida para desenvolver um sistema de software Especificação. Projeto e implementação. Validação. Evolução. Um modelo de processo de software é uma representação abstrata de um processo. Representa uma descrição de um processo a partir de uma perspectiva particular. 14

Modelos de processo de software - Paradigmas Uma estratégia de desenvolvimento que englobe processos, métodos e ferramentas, e as fases de desenvolvimento... Exemplo: Modelo Seqüencial (ciclo de vida clássico), Modelo de Prototipação, Modelos Evolutivos (Modelo Incremental e Espiral), Modelo de Métodos Formais, Orientado a reuso, etc. 15

Modelo em Cascata Método sistemático e seqüencial O resultado de uma fase se constitui na entrada da outra. Cada fase é estruturada como um conjunto de atividades que podem ser executadas por pessoas diferentes, simultaneamente. 16

17 Modelo em Cascata

Modelo Evolutivo Abordagem baseada na idéia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões. As atividade de desenvolvimento e validação são desempenhadas paralelamente, com um rápido feedback entre elas. 18

Modelo Evolutivo Tipos de desenvolvimento Evolutivo: Desenvolvimento Exploratório: trabalha-se junto com o cliente, a fim de explorar seus requisitos e entregar um sistema final. O desenvolvimento se inicia com as partes do sistema que são mais bem compreendidas. O sistema evolui com o acréscimo de novas características à medida que elas são propostas pelo cliente. Protótipo Descartável: o objetivo é compreender os requisitos do cliente e, a partir disso, desenvolver uma melhor definição de requisitos para o sistema. O protótipo se concentra em fazer experimentos com partes dos requisitos que estejam mal entendidos. 19

Modelo Espiral Desenvolvido pala englobar as melhores características do ciclo de vida clássico e do paradigma evolutivo. São avaliados riscos explicitamente e são solucionados ao longo do processo. Processo é representado como uma espiral em lugar de ser representado como uma seqüência de atividades Cada loop na espiral representa uma fase do processo de software. Não existem fases fixas. Engloba as melhores características do ciclo de vida clássico como o da Prototipação, adicionando um novo elemento: a análise de riscos 20

21 Modelo Espiral

Perguntas Comuns Qual a diferença entre processo de software e ciclo de vida? Processo de software refere-se a todas as atividades, bem como relacionamentos, artefatos, ferramentas, papéis etc, necessárias para construir, entregar e manter um produto de software. Já o ciclo de vida apresenta uma representação alto nível do processo de software executado (processo de software real) ou como deveria ser executado, ou seja, normalmente, ciclos de vida determinam as fases e o relacionamento entre as fases. 22

Perguntas Comuns O que são recursos? Recursos relacionam-se com diversos componentes do processo de software, por exemplo, técnicas, métodos e ferramentas. O que são artefatos? Artefato é um tipo de recurso produzido ou consumido em uma atividade. Nesse contexto, um artefato pode ser utilizado como uma entrada (matéria-prima) para uma determinada atividade e/ou como uma saída de uma atividade (resultado da execução de uma atividade). Ex: código-fonte, código executável, manual de padrões, relatório de resultados, documento de requisitos, plano de trabalho, etc. 23

Perguntas Comuns O que são agentes? Agentes ou atores são as entidades que executam atividades por intermédio de um papel. O que são papéis? Papéis representam um conjunto de responsabilidades, obrigações, permissões e habilidades necessárias para executar uma atividade ou sub-atividade. Geralmente, papéis são desempenhados por agentes humanos. Um sinônimo de papel seria cargo ou função. Uma atividade pode exigir diversos papéis para ser executada e um papel pode ser aplicado em diversas atividades. 24