Engenharia de Software
|
|
- Vinícius Caires de Vieira
- 6 Há anos
- Visualizações:
Transcrição
1 Engenharia de Software Capítulo 4 Processos de Software Slides adaptados do capítulo 3 do Sommerville, 2000 Disponíveis em inglês em Traduzidos por Jacinta Pereira Graduando do Curso de Letras da UFC Apresentados por Rossana Andrade Ph.D, SITE, University of Ottawa, Canadá Profa. Departamento de Computação, Centro de Ciências, Universidade Federal do Ceará rossana@lia.ufc.br Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 1
2 Processos de Software Conjuntos de atividades coerentes para especificar, projetar, implementar e testar sistemas de software Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 2
3 Objetivos Introduzir modelos de processo de software Descrever uma variedade de modelos de processo e quando eles podem ser usados Descrever esboços de modelos de processo para engenharia de requisitos, desenvolvimento de software, teste e evolução Apresentar a tecnologia CASE para dar suporte às atividades de processo de software Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 3
4 Tópicos abordados Modelos de processo de software Iteração do Processo Especificação de Software Projeto e implementação do Software Validação do Software Evolução do Software Suporte de processo automatizado Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 4
5 O processo de software Um conjunto estruturado de atividades requeridas para desenvolver um sistema de software Especificação Projeto Implementação Validação e Verificação Evolução Um modelo de processo de software é uma representação abstrata de um processo. Apresenta uma descrição de um processo de alguma perspectiva particular Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 5
6 Modelos genéricos de processo de software O modelo cascata Separa e distingue fases de especificação e desenvolvimento Desenvolvimento evolucionário Especificação e desenvolvimento são entrelaçados Desenvolvimento Formal de sistemas Um modelo de sistema matemático é formalmente transformado para uma implementação Desenvolvimento baseado na reutilização O sistema é montado a partir de componentes existentes Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 6
7 Modelo Cascata Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 7
8 Fases do modelo cascata Análise e definição de requisitos Projeto do sistema e do software Implementação e teste da unidade Integração e teste do sistema Operação e manutenção A desvantagem do modelo cascata é a dificuldade de acomodar mudanças depois que o processo está em andamento Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 8
9 Problemas do modelo cascata Partição inflexível do projeto em diferentes estágios Isto faz com que seja difícil responder aos requisitos mutáveis dos clientes Portanto, este modelo só é apropriado quando os requisitos são bem entendidos Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 9
10 Desenvolvimento evolucionário Desenvolvimento exploratório O objetivo é trabalhar com clientes e evoluir o sistema final de um esboço de especificação inicial. Deve começar com os requisitos que estão bem entendidos Preparação de protótipos descartáveis Objetivo é entender os requisitos do sistema. Deve começar com requisitos pobremente entendidos Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 10
11 Desenvolvimento evolucionário Concurrent activities Specification Initial version Outline description Development Intermediate versions Validation Final version Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 11
12 Desenvolvimento evolucionário Problemas Falta de visibilidade do processo Sistemas são, em geral, pobremente estruturados Habilidades especiais (ex. em línguas para rápida preparação de protótipos ) podem ser requeridas Aplicabilidade Para sistemas interativos pequenos ou médios Para partes de sistemas grandes (ex. a interface de usuário) Para sistemas de curto-prazo Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 12
13 Desenvolvimento de sistemas formais Baseado na transformação de uma especificação matemática através de diferentes representações para um programa executável Transformações são preservadoras de exatidão, portanto, são diretas para mostrar que o programa está de acordo com sua especificação Contido na abordagem Cleanroom para desenvolvimento de software Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 13
14 Desenvolvimento de sistemas formais Requirements Formal Formal Integration and definition specification transformation system testing Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 14
15 Transformações Formais Formal transformations T1 T2 T3 T4 Formal specification R1 R2 R3 Executable program P1 P2 P3 P4 Proofs of transformation correctness Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 15
16 Desenvolvimento de sistemas formais Problemas Necessidade de habilidades especializadas e treinamento para aplicar a técnica Difícil de especificar formalmente alguns aspectos do sistema como a interface de usuário» Difícil, mas não impossível, por exemplo, redes de petri coloridas podem ser utilizadas para especificar interfaces Aplicabilidade Sistemas críticos, especialmente aqueles no qual um case de segurança deve ser feito antes do sistema ser posto em operação Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 16
17 Desenvolvimento orientado ao reuso Engenharia de Software baseada em Componentes Baseado no reuso sistemático, onde os sistemas são integrados de componentes existentes ou sistemas padronizados Estágios do Processo Análise do componente Modificação dos requisitos Projeto do sistema com reuso Desenvolvimento e integração Esta abordagem está se tornando mais importante, mas a experiência ainda é limitada com ela Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 17
18 Desenvolvimento orientado ao reuso Engenharia de Software baseada em Componentes Requirements specification Component analysis Requirements modification System design with reuse Development and integration System validation Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 18
19 Iteração de Processo Requisitos do sistema SEMPRE evoluem no decorrer de um projeto, então a iteração do processo, onde estágios anteriores são retrabalhados, é sempre parte de um processo para sistemas maiores Iteração pode ser aplicada para qualquer modelo de processo genérico Duas abordagens (relacionadas) Desenvolvimento incremental Desenvolvimento espiral Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 19
20 Desenvolvimento incremental Ao invés de entregar o sistema de uma única vez, o desenvolvimento e a entrega é dividida em incrementos com cada incremento entregando parte da funcionalidade requerida Os requisitos dos usuários são priorizados e os requisitos de maior prioridade são incluídos em incrementos iniciais Uma vez que o desenvolvimento de um incremento é iniciado, os requisitos são congelados embora requisitos para incrementos posteriores possam continuar a evoluir Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 20
21 Desenvolvimento incremental Define outline requirements Assign requirements to increments Design system architecture Develop system increment Validate increment System incomplete Integrate increment Validate system Final system Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 21
22 Vantagens do desenvolvimento incremental O valor agregado ao Cliente está na entrega em cada incremento de modo que a funcionalidade do sistema estará disponível mais cedo Incrementos iniciais funcionam como protótipos para ajudar a evocar requisitos para incrementos posteriores Menores riscos de falha no projeto em geral Os serviços do sistema de alta prioridade tendem a receber a maioria dos testes Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 22
23 Programação extrema Nova abordagem para o desenvolvimento de software baseado no desenvolvimento e entrega de incrementos de funcionalidade bem pequenos Conta com melhoramento constante do código, envolvimento do usuário no time de desenvolvimento e programação em pares Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 23
24 Desenvolvimento espiral Processo é representado como uma espiral ao invés de uma seqüência de atividades com retorno Cada volta na espiral representa uma fase no processo. Não existem fases fixas como especificação ou projeto as voltas na espiral são escolhidas de acordo com o que é requerido Os riscos são explicitamente cotados e resolvidos durante todo o processo Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 24
25 Modelo espiral do processo de software Determine objectives alternatives and constraints Plan next phase REVIEW Requirements plan Life-cycle plan Development plan Integration and test plan Risk analysis Risk analysis Risk analysis Prototype 2 Risk analysis Prototype 1 Concept of Operation S/W requirements Requirement validation Design V&V Service Acceptance test Evaluate alternatives identify, resolve risks Prototype 3 Operational protoype Simulations, models, benchmarks Product design Integration test Code Unit test Detailed design Develop, verify next-level product Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 25
26 Setores do modelo espiral Estabelecimento de objetivos Objetivos específicos para a fase são identificados Avaliação e redução de riscos Os riscos são avaliados e atividades postas em prática para reduzir os riscos principias Desenvolvimento e validação Um modelo de desenvolvimento para o sistema é escolhido, podendo ser qualquer um dos modelos genéricos Planejamento O projeto é revisado e a fase seguinte da espiral é planejada Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 26
27 Especificação do Software O processo de estabelecer que serviços são requisitados e quais as restrições na operação e desenvolvimento do sistema Processo de engenharia de requisitos Estudo de viabilidade Elicitação e análise dos requisitos Especificação dos requisitos Validação dos requisitos Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 27
28 O processo de engenharia de requisitos Feasibility study Feasibility report Requirements elicitation and analysis System models Requirements specification User and system requirements Requirements validation Requirements document Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 28
29 Projeto e implementação de Software O processo de converter a especificação do sistema em um sistema executável Projeto de Software Projeto de uma estrutura de software que perceba a especificação Implementação Transformar esta estrutura em um programa executável As atividades de projeto e implementação são intimamente relacionadas e podem ser entrelaçadas Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 29
30 Atividades de processo de projeto Projeto arquitetural Especificação abstrata Projeto de interface Projeto de componente Projeto de estrutura de dados Projeto de algoritmo Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 30
31 O processo do projeto de software Requirements specification Design activities Architectural Abstract Interface Component design specification design design Data structure design Algorithm design System architecture Software specification Interface specification Component specification Data structure specification Algorithm specification Design products Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 31
32 Métodos do Projeto Abordagens sistemáticas para desenvolver um projeto de software O projeto é geralmente documentado como uma série de modelos gráficos Modelos possíveis Modelo de fluxo de dados Modelo de atributos relacionados à entidade Modelo Estrutural Modelos de objetos Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 32
33 Programando e Depurando Transformar um projeto em um programa e remover erros do programa Programação é uma atividade pessoal não existe processo de programação genérico Programadores realizam alguns testes de programa para detectar falhas no programa e remover tais falhas no processo de depuração Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 33
34 O processo de depuração Locate Design Repair Re-test error error repair error program Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 34
35 Validação do Software Verificação e validação pretendem mostrar que um sistema está de acordo com sua especificação e cumpre os requisitos do cliente do sistema Envolve a verificação e a revisão de processos e teste do sistema Teste de sistema envolve a execução do sistema com cases de teste que são derivados da especificação dos dados reais a serem processados pelo sistema Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 35
36 O processo de teste Unit testing Module testing Sub-system testing System testing Acceptance testing Component testing Integration testing User testing Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 36
37 Etapas de teste Teste da Unidade Os componentes individuais são testados Teste do Módulo Conjuntos de componentes dependentes relacionados são testados Teste do Sub-sistema Os módulos são integrados em sub-sistemas e testados. O foco aqui deve ser no teste da interface Teste do Sistema Teste do sistema como um todo. Teste das propriedades emergentes Teste de Aceitação Teste com dados do consumidor para verificar que é aceitável Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 37
38 Fases de teste Requirements specification System specification System design Detailed design Acceptance test plan System integration test plan Sub-system integration test plan Module and unit code and tess Service Acceptance test System integration test Sub-system integration test Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 38
39 Evolução do Software Software é hereditariamente flexível e pode ser mudado. Como os requisitos mudam ao se alterar as circunstâncias de negócios, o software que suporta o negócio também deve evoluir e mudar Embora tenha havido uma demarcação entre desenvolvimento e evolução (manutenção), este é cada vez mais irrelevante na medida que menos e menos sistemas são totalmente novos Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 39
40 Evolução do sistema Define system Assess existing Propose system Modify requirements systems changes systems Existing systems New system Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 40
41 Suporte ao processo automatizado (CASE) Engenharia de software auxiliada por computador (CASE) é um software para dar suporte aos processos de desenvolvimento e evolução do software Automação da atividade Editores gráficos para o desenvolvimento de modelos de sistema Dicionário de dados para gerenciar entidades de projeto Construtor Gráfico UI para a construção de interface para usuário Depuradores para suportar detecção de falhas no sistema Tradutores automáticos para gerar novas versões de um programa Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 41
42 Tecnologia Case Tecnologia Case tem levado a melhorias significantes no processo de software embora não na ordem de magnitude de melhorias que foram antes previstos A engenharia de software requer pensamento criativo isto não é prontamente automatizável A engenharia de software é uma atividade de grupo e, para grandes projetos, muito tempo é utilizado em interações do grupo. A tecnologia CASE não os suporta de fato Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 42
43 CASE classificação A classificação nos ajuda a entender os diferentes tipos de ferramentas de CASE e seu suporte para atividades do processo Perspectiva Funcional As ferramentas são classificadas de acordo com suas funções específicas Perspectiva do Processo As ferramentas são classificadas de acordo com as atividades do processo que suportam Perspectiva da Integração As ferramentas são classificadas de acordo com sua organização em unidades integradas Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 43
44 Classificação das Ferramentas Funcionais Tool type Planning tools Editing tools Change management tools Configuration management tools Prototyping tools Method-support tools Language-processing tools Program analysis tools Testing tools Debugging tools Documentation tools Re-engineering tools Examples PERT tools, estimation tools, spreadsheets Text editors, diagram editors, word processors Requirements traceability tools, change control systems Version management systems, system building tools Very high-level languages, user interface generators Design editors, data dictionaries, code generators Compilers, interpreters Cross reference generators, static analysers, dynamic analysers Test data generators, file comparators Interactive debugging systems Page layout programs, image editors Cross-reference systems, program restructuring systems Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 44
45 Classificação baseada em atividades (Funcional vs. Processo) Reengineering tools Testing tools Debugging tools Program analysis tools Language-processing tools Method support tools Prototyping tools Configuration management tools Change management tools Documentation tools Editing tools Planning tools Specification Design Implementation Verification and Validation
46 Perspectiva de Integração CASE Ferramentas Suporta tarefas individuais do processo como verificação da consistência de um projeto, edição de texto, etc. Áreas de trabalho (workbenches) Suporte a fases do processo como especificação ou projeto. Normalmente inclui uma variedade de ferramentas integradas Ambientes Suporta tudo ou uma parte substancial de todo um processo de software. Normalmente inclui várias áreas de trabalho integradas Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 46
47 Ferramentas, áreas de trabalho e ambientes CASE technology Tools Workbenches Environments Editors Compilers File comparators Integrated environments Process-centred environments Analysis and design Programming Testing Multi-method workbenches Single-method workbenches General-purpose workbenches Language-specific workbenches Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 47
48 Pontos chave Processos de software são as atividades envolvidas na produção e evolução de um sistema de software. Eles são representados em um modelo de processo de software As atividades gerais são especificação, projeto e implementação, validação e evolução Modelos genéricos de processo descrevem a organização processos de software Modelos iterativos de processo descrevem o processo de software como um de atividades Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 48
49 Pontos chave Engenharia de requisitos é o processo de desenvolver uma especificação de software Os processos de projeto e implementação transformam a especificação em um programa executável A Validação envolve verificar que o sistema cumpre com as especificações e as necessidades do usuário Evolução se preocupa em modificar o sistema depois que ele está em uso Tecnologia CASE suporta atividades de processo de software Ian Sommerville 2000 Baseado no Capítulo 3 de Software Engineering, 6th edição. Slide 49
Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
Leia maisENGENHARIA DE SOFTWARE
CURSO TÉCNICO DE INFORMÁTICA Módulo A ENGENHARIA DE SOFTWARE Processos de Software O PROCESSO É LENTO... Todo software deve ser construído de forma organizada, através de processos. Um processo pode ser
Leia maisEngenharia de Software
Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento
Leia maisEngenharia de Software
Engenharia de Software Capítulo 3 Processos de Software Slides do Livro do Sommerville, 2000 Disponíveis em inglês em www.software-engin.com Traduzidos por Jacinta Pereira Graduando do Curso de Letras
Leia maisEngenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia
Engenharia de Software Processos Desenvolvimento de Software Tradicionais 2014/2 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR Processos Um conjunto estruturado de atividades necessárias para o desenvolvimento
Leia maisEngenharia de Software
PLANO DE AVALIAÇÕES Engenharia de Software 1ª AP: 08 de setembro 2ª AP: 13 de outubro 3ª AP: 10 de novembro NAF: 17 de novembro Referência bibliográfica: SOMMERVILLE, I. Engenharia de Software. 8ª ed.
Leia maisProcessos de Software
Processos de Software Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos profs. Márcio Cornélio, Vinicius
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia maisINTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade Estadual Vale do Acaraú AGENDA INTRODUÇÃO A ENGENHARIA DE SOFTWARE Processos Modelos de Desenvolvimento de Software Engenharia de Requisitos Projeto de Interface com o Usuário Projeto Arquitetural
Leia maisEngenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves
I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK
Leia maisProcesso de Software
Processo de Software Prof. Nelmar P Gomes 2007 Engenharia de Software Slide 1 Processo de Software Conjunto de atividade coerentes para especificar, projetar, implementar e testar sistemas de software
Leia maisParadigmas de Software
Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo
Leia maisProcessos de. Desenvolvimento de Software
Processos de Desenvolvimento de Software O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento de um sistema de software
Leia mais14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisENGENHARIA DE SOFTWARE
ENGENHARIA DE SOFTWARE Curso: Sistemas de Informação Profª: Janaide Nogueira ENGENHARIA DESOFTWARE APRESENTAÇÃO Formação Técnica: Informática(IFCE-Campus Tianguá-CE) Secretária Escolar(FDR) Graduação:
Leia maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia maisEngenharia de Software
Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos
Leia maisProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software Prof. Ronaldo C. de Oliveira, Dr. ronaldo.co@ufu.br UFU - 2018 Processo de Software Processos de Software Conjunto coerente de atividades para especificar, projetar,
Leia maisProf. Dr. Thiago Jabur Bittar
Prof. Dr. Thiago Jabur Bittar Uma representação abstrata e simplificada do processo de desenvolvimento software, tipicamente mostrando as principais atividades e dados usados na produção e manutenção de
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 03 PROFª BRUNO CALEGARO Santa Maria, 13 de Setembro de 2013. Revisão aula anterior Processo de software Um modelo de processo de software consiste
Leia maisProcessos de Software
Processos de Software Capítulo 2 Processos de Software slide 47 2011 Pearson Prentice Hall. Todos os direitos reservados. 1 Tópicos apresentados Modelos de processo de software. Atividades de processo.
Leia maisENGENHARIA DE SOFTWARE. Aula 03 Processos de Software
ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -
Leia maisCapítulo 2 - Processos de Software
Capítulo 2 - Processos de Software Capítulo 2 Processos Software 1 Assuntos abordados Modelos de processo de software Atividades no processo de software Mudança no processo de software Melhoria de processos
Leia maisPrincípios da Engenharia de Software aula 03
Princípios da Engenharia de Software aula 03 Prof.: José Honorato Ferreira Nunes Material cedido por: Prof.: Franklin M. Correia Na aula anterior... Modelos de processos de software: Evolucionário Tipos
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisCampus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /
Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ENGENHARIA DE SOFTWARE Aula N : 02 Tema:
Leia maisProcessos de Software
Riscos Processos de Software Gidevaldo Novais (gidevaldo.vic@ftc.br) Muitos problemas no desenvolvimento de software provêm de riscos Seriam problemas potenciais que poderão ocorrer em um futuro próximo
Leia maisO que é um processo de software?
O que é um processo de software? Um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação. Atividades genéricas em todos os processos:
Leia maisProfessor Emiliano S. Monteiro
Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer
Leia maisModelos de Processo de Software. Profª Jocelma Rios
Modelos de Processo de Software Profª Jocelma Rios Jun/2013 O que pretendemos: Apresentar os conceitos básicos de processos de software Descrever os principais modelos de processos de software, elucidando
Leia maisEngenharia de Software II
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
Leia maisPDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.6 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisEngenharia de Software. Engenharia de Software
Desenvolvimento SCE 186 - Engenharia Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 Engenharia Uma Tecnologia em Camadas ferramentas métodos processo foco na qualidade Gerenciamento
Leia maisVerificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
Leia maisProcessos de Software
DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas
Leia maisObjetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.
Processos de Software Objetivos Apresentar os modelos de processo de software Conjunto coerente de atividades para especificar, projetar, implementar e testar s de software Descrever os diferentes modelos
Leia maisEngenharia de Software. Prof. Me. Clodoaldo Brasilino
Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Projeto de Software
Leia maisBibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.
Bibliografia Quais são os problemas? 4 A sofisticação do software ultrapassou nossa capacidade de construção. 4 Nossa capacidade de construir programas não acompanha a demanda por novos programas. 4 Nossa
Leia maisVerificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1
Verificação e Validação Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1 Objetivos Apresentar a verificação e validação de software e discutir a distinção entre elas Descrever
Leia maisFábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias
Fábricas de Software Processos de Software Jorge Dias Um processo estruturado, controladoe melhoradode forma contínua, considerando abordagens de engenharia industrial, orientado para o atendimento a múltiplas
Leia maisAtividades de Desenvolvimento. Desenvolvimento de Software. Especificação de Requisitos. Atividades de Desenvolvimento. Especificação de Requisitos
DCC / ICEx / UFMG Desenvolvimento de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Especificação de Requisitos Um sistema de software deve satisfazer as necessidades de seus usuários Tais
Leia mais15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software
Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo
Leia maisDesenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software
Engenharia de Software Aula 17 Desenvolvimento de Software Testes de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 7 Maio 2012 1. Especificação de requisitos 2. Projeto
Leia mais2. Modelos de Desenvolvimento de Software
2. Modelos de Desenvolvimento de Software Patrícia Macedo Joaquim Filipe João Ascenso Engenharia de Software 2005/06 EST, Setúbal Ciclo de Vida do Software Um sistema de software é desenvolvido gradualmente
Leia maisGerenciamento do Projeto. Organizando, planejando e estabelecendo o cronograma de projetos de software. Tópicos abordados.
Engenharia de Software Capítulo 5 Gerenciamento de Projetos Slides adaptados do Capítulo 4 do Sommerville, 2000 Disponíveis em inglês em www.software-engin.com Traduzidos por Jacinta Pereira Graduando
Leia maisCapítulo 2. Processos de So2ware Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de So2ware slide 1 Tópicos apresentados Modelos de processo de so+ware. A0vidades de processo. Lidando com mudanças. Ra0onal Unified Process (RUP). Um exemplo de um processo de desenvolvimento
Leia maisPDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.5 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; RAD; Modelo Incremental; Desenvolvimento Evolucionário; Desenvolvimento
Leia maisEscolhendo um Modelo de Ciclo de Vida
Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto
Leia maisVerificação e validação
Verificação e validação Verificação e validação Capítulo 22 Versão 8 do Sommerville Asseguram que o software cumpra com suas especificações e atenda às necessidades dos usuários Ian Sommerville 2000 Software
Leia maisTópicos da Aula. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Engenharia de Software: Conceitos Fundamentais
Engenharia de Software Aula 02 Tópicos da Aula Engenharia de Software: Conceitos Fundamentais Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 07 Março 2012 Motivação e Conceitos
Leia mais4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos
Processos de engenharia de requisitos Processos de Engenharia de Requisitos Os requisitos e as formas de obtê-los e documentálos variam drasticamente de um projeto para o outro Contudo, existe uma série
Leia maisProcessos utilizados para descobrir, analisar, especificar e validar requisitos de sistema
Processos de Engenharia de Requisitos Slides inicialmente retirados do site do Livro do Sommerville, 6ª edição, 2000 Disponíveis em inglês em www.software-engin.com Traduzidos por Jacinta Pereira Graduando
Leia maisProcesso de Desenvolvimento. Edjandir Corrêa Costa
Processo de Desenvolvimento Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Processo de Desenvolvimento Definição: É um roteiro que determina quais são as tarefas necessárias e em que ordem elas devem
Leia maisEngenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata
Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo
Leia maisProcessos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne
Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne Auxiliadora Freire Fonte: Engenharia de Software 6º Edição / Ian Sommerville 2000 Slide 1 Processos de software Atividades para
Leia maisEngenharia de Software I
Engenharia de Software I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 1 Ferramentas Computer-Aided Software Engineering CASE Engenharia de Software Auxiliada
Leia maisProblemas e Práticas Recomendadas no Desenvolvimento de Software
Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento
Leia maisModelos de Processo de Software
Modelos de Processo de Software Engenharia de Software Profa. Dra. Rosana T. Vaccare Braga 1 o semestre de 2017 (material produzido e atualizado pelos professores do grupo de pesquisa em Engenharia de
Leia maisOrganização para Realização de Teste de Software
Organização para Realização de Teste de Software Quando o teste se inicia há um conflito de interesses: Desenvolvedores: interesse em demonstrar que o programa é isento de erros. Responsáveis pelos testes:
Leia maisDesenvolvimento de Projetos
Desenvolvimento de Projetos Aula 1.3 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Tipos de Modelos Modelo em Cascata; Prototipação; Modelo Incremental; Desenvolvimento Evolucionário;
Leia maisAinda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:
Prof. Edson dos Santos Cordeiro 1 Tópico: Objetivo: Introdução a Ciclo de Vida do Software Conhecer os principais conceitos relacionados a ciclo de vida do software. Bibliog. Base: McCONNEL, Steve. Rapid
Leia maisAtividades típicas do processo de desenvolvimento
Atividades típicas do processo de desenvolvimento Elicitação de Requisitos Qual o problema? O que será feito? Análise e projeto de software Como será feito? Descrição computacional Projeto de arquitetura
Leia maisEngenharia Software. Ení Berbert Camilo Contaiffer
Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado
Leia maisSABiO: Systematic Approach for Building Ontologies
SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do
Leia maisRUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Leia maisQUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:
QUESTÕES 1. 0 que é domínio da aplicação (ou do problema)? 2. Qual a importância da engenharia de software e como se justificam os custos a ela associados? 3. O que é processo de desenvolvimento de software
Leia maisMaterial Disciplina Tópicos em Engenharia de Software Parte 1 (Introdução aos Conceitos Engenharia de Software) Prof. Wagner Santos C.
Material Disciplina Tópicos em Engenharia de Software Parte 1 (Introdução aos Conceitos Engenharia de Software) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Sumário 1. Introdução à Engenharia de
Leia maisEngenharia de Software I: Introdução. Graduação em Informática 2009 Profa. Itana Gimenes
Engenharia de Software I: Introdução Graduação em Informática 2009 Profa. Itana Gimenes Programa 1. O processo de engenharia de software 2. Engenharia de requisitos 3. Modelagem de sistemas 4. Conceitos
Leia maisEngenharia de Software II
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified
Leia maisProcessos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?
DCC / ICEx / UFMG O que é um processo de software? Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Conjunto de atividades que leva ao desenvolvimento do produto software Um
Leia maisProfessor Emiliano S. Monteiro
Professor Emiliano S. Monteiro Geralmente os problemas que devem ser resolvidos são complexos portanto sua resolução necessita de análise, ou seja, uma investigação. Prof. Emiliano S. Monteiro Análise:
Leia maisIntrodução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS Nome: 1. No ciclo de vida de software, a estrutura de dados, a arquitetura, os detalhes procedimentais
Leia maisPDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno
PDS Aula 1.4 Modelos de Processo Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br 2 Introdução Há alguns anos, o desenvolvimento de softwares era muito obsoleto; Existiam diversos problemas relacionados
Leia maisCiclo de vida do software
Ciclo de vida do software Ciclo de vida = plano de projeto = metodologia de desenvolvimento de sistema ou O modo como fazemos as coisas por aqui ou Seqüência de fases e atividades a serem desenvolvidas
Leia maisProf. Esp. Fabiano Taguchi
UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer
Leia maisINF014 Análise e Projeto de Sistemas Processos Unificado -RUP
INF014 Análise e Projeto de Sistemas Processos Unificado -RUP Maurício Pitangueira antoniomauricio@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica
Leia maisPROCESSOS DE SOFTWARE
PROCESSOS DE SOFTWARE Atividades para especificar, projetar, implementar e testar sistemas de software 1 Processos de software Uma Visão Genérica: 3 Fases Definição - o que Engenharia do Sistema Planejamento
Leia maisICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:
Leia mais! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado
Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!
Leia maisAula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil
Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil Análise de Sistemas Prof. Filipe Arantes Fernandes filipe.arantes@ifsudestemg.edu.br 2 Vale a pena ver de novo Modelo de Processo:
Leia maisIntrodução a Engenharia de Software
Introdução a Engenharia de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 5 de abril de 2017 Material Apresentado Sumário de Aula 1 O que é Engenharia de Software
Leia maisEngenharia de Software
Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?
Leia maisARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos
ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisDesenvolvimento ágil de software
Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice
Leia maisManutenção Leitura: Sommerville; Pressman
Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele
Leia maisRUP/PSDS. Introdução e Comparação
RUP/PSDS Introdução e Comparação Agenda RUP Introdução Mlehores Práticas Estrutura Tempo Conteúdo Contraponto PSDS Introdução Objetivos Promover planejamento, medição e controle dos projetos Reduzir riscos
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo
Leia maisRational Unified Process (RUP)
Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisInformática I. Aula Aula 21-29/11/06 1
Informática I Aula 21 http://www.ic.uff.br/~bianca/informatica1/ Aula 21-29/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisAnálise e Concepção de Sistemas de Informação
Análise e Concepção de Sistemas de Informação Processos de Engª de Requisitos Adaptado a partir de Engineering: Processes and Techniques Gerald Kotonya and Ian Sommerville 1 Objectivos Introduzir a noção
Leia mais