Engenharia de Software



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

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

Tópicos. Engenharia de Software: Uma Visão Geral

Processos de Desenvolvimento de Software

Engenharia de Software

Universidade Paulista

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

Processo de Software - Revisão

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

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

UML - Unified Modeling Language

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

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

Processo de Desenvolvimento de Software. Engenharia de Software.

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

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

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Gerenciamento de Problemas

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

MODELO CMM MATURIDADE DE SOFTWARE

Tópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres

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

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

Engenharia de Software II

Engenharia de Software 1

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

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

ENGENHARIA DE SOFTWARE I

Engenharia de Requisitos

Análise e Projeto de Sistemas

Levantamento, Análise e Gestão Requisitos. Aula 12

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

Dicionário da EAP - Software FarmaInfor

Engenharia de Requisitos

O Processo de Desenvolvimento de Software

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

Engenharia de Requisitos Estudo de Caso

Modelagem de Software

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Modelo Cascata ou Clássico

Sistemas de Informação I

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

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

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

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Pós Graduação 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

Métodos de Desenvolvimento de Software. Aula 1: Introdução

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

Engenharia de Software 2013/2

Fundamentos de Engenharia de Software Professor Rafael Escalfoni

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

PLANOS DE CONTINGÊNCIAS

Introdução à Engenharia de Software

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

Gerenciamento de Projeto

Engenharia de Software Processo de Desenvolvimento de Software

Engenharia de Requisitos

ENGENHARIA DE SOFTWARE

Verificação é um processo para se determinar se os produtos, (executáveis ou

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

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

Gerência de Projetos

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

CHECK - LIST - ISO 9001:2000

Requisitos. Sistemas de Informações

EVOLUÇÃO DE SOFTWARE

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

Gestão de Modificações. Fabrício de Sousa

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

Modelo para Documento de. Especificação de Requisitos de Software

Engenharia Reversa e Reengenharia

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

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

Apresentação da Disciplina Processo de Software

PROFESSOR: CRISTIANO MARIOTTI

Diagrama de Caso de Uso e Diagrama de Sequência

Requisitos de Software

UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas

Qualidade de Processo de Software Normas ISO e 15504

MASTER IN PROJECT MANAGEMENT

Tópicos Especiais em Engenharia de Software

Planejamento e Gerenciamento de Projeto de Software

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Gerência de Projetos e EVTE. Fabiana Costa Guedes

GARANTIA DA QUALIDADE DE SOFTWARE

Engenharia de Software

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Gerenciamento do Escopo do Projeto Produto do Projeto

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Tópicos Especiais em Redes de Telecomunicações

Transcrição:

Engenharia de Software Processo de Software Thiago P. da Silva thiagosilva.inf@gmail.com

Agenda Revisando Engenharia de Software Engenharia de Sistemas Processo de software Fases Genéricas de Modelos de processo de Software

Engenharia de Software Abordagem de desenvolvimento de software sistemática, disciplinada e possível de ser medida para o desenvolvimento, operação e manutenção do software (IEEE) Engineering discipline that is concerned with all aspects of software production from the early stages of system specification to maintaining the system after it has gone into into use (Sommerville) Objetivo da Engenharia de Software: Desenvolver software de forma efetiva Qualidade Tempo Custo

Engenharia de Sistemas Engenharia de Sistemas: Envolve todos aspectos do desenvolvimento de sistemas baseados em computador (SBC) Hardware, software, processos e pessoas Engenharia de Software: Parte do processo que envolve o desenvolvimento da infraestrutura de software, controle, aplicações e bases de dados do sistema Temos que compreender como o software deve interagir com todos os demais elementos do sistema

Engenharia de Sistemas Sistemas complexos são uma hierarquia de macro elementos que também são sistemas Uma boa engenharia de sistemas começa com uma clara compreensão do contexto a visão do mundo

Engenharia de Sistemas Processos da Engenharia de Sistemas

Processo de Software O que é um processo de Software

Processo de Software Um conjunto coerente de atividades para construção de software Existem muitos diferentes processos de software Cada equipe/projeto tem os seus processos de software Mas todos devem incluir três elementos fundamentais para a engenharia de software Métodos Ferramentas Procedimentos

Processo de Software Métodos fornecem os detalhes sobre como fazer para construir o software Incluem: Planejamento e estimativa de projeto Análise de requisitos de software e de sistemas Projeto da estrutura de dados Algoritmos de processamento Codificação Teste Manutenção

Processo de Software Ferramentas dão suporte automatizado aos métodos. Realizam os métodos computacionalmente Atualmente existem ferramentas para sustentar cada método Existe a necessidade de integrar as ferramentas que sustentam os métodos! Quando as ferramentas são integradas, é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering Exemplo: IDE Eclipse juntamente com seus plugins

Processo de Software Ferramentas Ferramenta CASE

Processo de Software Procedimentos definem a sequência em que os métodos serão realizados Constituem a ligação entre os métodos e as ferramentas Determinam os produtos de software que serão criados em cada método Devem assegurar a qualidade e coordenar as alterações no projeto do software Os clientes nunca sabem/explicam realmente o que querem Exemplo do balanço!?!?! Equipe/pessoal com qualidades diferentes

Processo de Software O que esperar de um processo de software (Sommerville): Os processos devem ser mensuráveis O progresso do processo deve ser visível externamente Os erros do processo devem ser descobertos antes que resultem em erros no produto O processo pode evoluir para atender alterações de necessidades organizacionais Pode ser apoiado por ferramentas CASE Deve ser aceito pelos stakeholders (Envolvidos) Problemas inesperados não devem interromper o processo Definição de marcos de referência que possibilitam administrar o progresso do software

Processo de Software Sommerville assegura que existem Atividades Fundamentais em qualquer processo de software Especificação do Software Projeto e implementação Validação Evolução São atividades complexas, que incluem subatividades Ex. validação de requisitos, projeto de arquitetura e testes Para se descrever um processo de software é necessário: falar sobre suas atividades, produtos das atividades, papéis, pré e pós-condições

Fases Genéricas de Modelos de Processo de Software Existem vários modelos de processo de software (ou paradigmas de engenharia de software) Cada empresa/projeto adota o seu Existem formas diferentes de se fazer a mesma coisa! Entretanto existem Fases Genéricas dos Modelos de Processo de Software fase de definição fase de desenvolvimento fase de manutenção Também existem atividades de apoio que complementam as fases Não confunda fases genéricas e atividades fundamentais

Fases Genéricas de Modelos de Processo de Software Fase de Definição do Processo de Software Análise de Sistema Planejamento do Projeto Análise de Requisitos Deve responder as seguintes perguntas: O que será desenvolvido? Que informação será processada? Que função e desempenho são desejados? Que comportamento pode ser esperado do sistema? Quais interfaces vão ser estabelecidas? Quais restrições de projeto existem? Quais critérios de validação são exigidos para definir um sistema bem sucedido? Quais tarefas serão realizadas? Conhecimento do domínio do problema!

Fases Genéricas de Modelos de Processo de Software Projeto Codificação Teste Fase de Desenvolvimento do Processo de Software Deve responder as seguintes perguntas: Como o software será desenvolvido? Como os dados vão ser estruturados? Como as funcionalidades serão implementadas em uma arquitetura de software? Como os detalhes procedimentais vão ser implementados? Como as interfaces vão ser caracterizadas? Como implementar cada componente do software? Como o projeto será traduzido em uma linguagem de programação? Como os testes serão efetuados? Escolha dos frameworks, plataformas, etc

Fases Genéricas de Modelos de Processo de Software Fase de Manutenção do Processo de Software Está interessado nas mudanças que ocorrem após o uso operacional do software Correção de erros Adição de funcionalidades Esta fase reaplica os passos das fases de definição e desenvolvimento, mas faz isso no contexto de um software existente Entendimento Modificação Revalidação

Fases Genéricas de Modelos de Processo de Software Atividades de Apoio Complementam as fases genéricas do processo de software São as atividades de apoio que diferenciam os vários modelos de processo de software São aplicadas durante toda engenharia de software

Fases Genéricas de Modelos de Processo de Software Atividades de Apoio Exemplos: Validação Auditoria Garantia de Qualidade de Software Controle e Acompanhamento do Projeto de Software Revisões Técnicas Formais Gestão de Configuração de Software Preparação e Produção de Documentos Gestão de reutilização Medições Gestão de risco, Controle e Gestão da Equipe, etc.

Atividade em Sala de Aula De posse do conhecimento adquirido hoje em sala de aula, crie um processo de software para sua equipe/grupo. Descreva as fases e atividades do seu modelo e faça uma figura para ilustrar o fluxo de uma fase para a outra. Lembre-se: fase de definição fase de desenvolvimento fase de manutenção atividades de apoio

Referências Sommerville Engenharia de Software. Nona Edição. Editora Pearson.