Análise e Projeto. Prof. Erinaldo Sanches Nascimento

Documentos relacionados
Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Engenharia de Software

Processos de software

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Informática I. Aula Aula 21-29/11/06 1

Engenharia de Software

Análise e Projeto Orientado a Objetos

Engenharia de Software II

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Engenharia Software. Ení Berbert Camilo Contaiffer

RUP/PSDS. Introdução e Comparação

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Métodos Ágeis e Programação Extrema (XP)

Programação Extrema na Prática

METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

Modelos de Processo de Software

Modelos de Processo de Software

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Engenharia de Software DESENVOLVIMENTO ÁGIL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Processos de Software

2. Processos em Engenharia de Software

Aula 12. Aquisição de Hardware

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

ENGENHARIA DE SOFTWARE

Processos de Software

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Desenvolvimento de Projetos

Rational Unified Process (RUP)

Engenharia de Software. Herbert Rausch Fernandes

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Visão Geral do RUP (Rational Unified Process)

Processo Unificado. Leonardo Gresta Paulino Murta

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Modelos de Gestão de Projetos

Processo de Desenvolvimento. Edjandir Corrêa Costa

Princípios da Engenharia de Software aula 03

Análise e Projeto Orientados a Objetos

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

INE 5417 Engenharia de Software I

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Aula 3.1 Introdução e Visão Geral do Processo Unificado

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

PROCESSOS DE SOFTWARE

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Metodologias Ágeis de Desenvolvimento. Fernando Trinta

Engenharia de Software

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Ciclo de Vida de Sistemas de Informação

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

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Análise e Projeto Orientados a Objetos Aula I Introdução. Prof.: Bruno E. G. Gomes IFRN

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

ARQUITETURA E DESENHO

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Processos de. Desenvolvimento de Software

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE PROF. MSC. EMILIANO MONTEIRO

CICLO DE VIDA DE SOFTWARE

Desenvolvimento Ágil de Software. Prof. Edjandir Corrêa Costa

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Extreme Programming. Projeto de. Desenvolvimento. Software. Prof.: Ari Oliveira

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

UML Unified Modeling Language Linguagem de Modelagem Unificada

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Escolhendo um Modelo de Ciclo de Vida

Processo Unificado (PU) Unified Process

Professor Emiliano S. Monteiro

Prof. Dr. Thiago Jabur Bittar

Requisitos de Sistemas

Conceitos de Engenharia de Software. Prof.ª: Érika A. Barrado

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

RUP Unified Process. Profª Jocelma Rios

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

Cadeira: Análise de Sistemas

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Visão Geral do RUP.

Modelos de Ciclo de Vida

Scrum e Extreme Programming

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

ENGENHARIA DE SOFTWARE

Transcrição:

Análise e Projeto Prof. Erinaldo Sanches Nascimento

Objetivos Apresentar o ciclo de vida de desenvolvimento de sistemas. Descrever as metodologias de desenvolvimento de sistemas. 2

Introdução Programação Engenharia de software É uma parte do desenvolvimento de software, mas isso não é tudo. 3

Introdução Programação Engenharia de software É uma parte do desenvolvimento de software, mas isso não é tudo. Desenvolvimento de software é o processo de tomar um conjunto de requisitos de um usuário, analisá-los, projetar uma solução para o problema, e então implementar aquela solução no computador. 4

Introdução Programação: Projeto e implementação Engenharia de software: Processo Gerenciamento da criação de um programa de computador Cronograma Estimativa Gerenciamento de pessoas O desenvolvimento de software é a parte da engenharia de software preocupada com a criação do software real. Inclui 5 análise, projeto e liberação de versão.

Introdução Desenvolvimento de software é difícil. Desenvolver software eficiente, corretamente e bem é difícil. É uma habilidade que requer muita prática. 6

Introdução Desenvolvimento de software é difícil. Desenvolver software eficiente, corretamente e bem é difícil. É uma habilidade que requer muita prática. Por que esse sistema falhou? Por que uma empresa gastou tempo e dinheiro em um projeto e depois o cancelou? O que poderia ter sido feito para evitar isso? 7

Introdução Como desenvolver software? Uma equipe pequena e bem integrada; Boa comunicação entre os membros da equipe; Boa comunicação entre a equipe e o cliente; Um processo que todos sigam; A habilidade em ser flexível a respeito de um determinado processo; Um planejamento que todos sigam; Saber onde você está em todos os tempos (cronograma); As ferramentas certas e as práticas corretas para esse projeto. 8

Ciclo de Vida do 1)Concepção 2)Coleta de requisitos, exploração e modelagem 3)Projeto 4)Codificação e depuração 5)Teste 6)Liberação 7)Manutenção e evolução do software 8)Aposentadoria 9

Desenvolvimento de Sistemas 10

Uma metodologia é uma abordagem formalizada para a implementação do ciclo de vida de desenvolvimento de sistemas. Padrões formais utilizados em agências governamentais. Desenvolvido por empresas de consultoria para vender aos seus clientes. Metodologias aprimoradas ao longo dos anos por muitas organizações. 11

Categorizar metodologias: Metodologia centrada no processo Metodologia centrada nos dados Metodologias orientadas a objetos 12

Codifica e corrige Não é propriamente um modelo. Remete aos primórdios da computação. Os programadores passavam rapidamente da fase de planejamento para as fases de construção e execução. Não há formalidade no levantamento dos requisitos, nem documentação. Sem garantia de qualidade ou formalidade de teste. 13

Projeto estruturado Desenvolvimento em cascata Desenvolvimento paralelo Desenvolvimento rápido de aplicações (RAD) Desenvolvimento em fases Prototipagem Prototipagem descartável Desenvolvimento ágil Programação extrema (XP) Scrum 14

Desenvolvimento em Cascata Foi criada em 1970 por Winston Royce; Requer documentação detalhada de cada estágio; É um modelo de processo orientado a plano. 15

Desenvolvimento Paralelo Tenta resolver o problema de longos atrasos entre a fase de análise e a entrega do sistema. Executa um projeto geral para todo o sistema e então divide o projeto em uma série de subprojetos distintos que podem ser projetados e implementados em paralelo. Quando todos os subprojetos estiverem concluídos, há uma integração final das peças separadas, e o sistema é entregue. 16

17

Desenvolvimento Rápido de Aplicações (RAD) Surgiu nos anos 1990. Tenta ajustar o ciclo de vida do desenvolvimento de sistemas de maneira a entregar ao usuário parte do sistema desenvolvido mais rapidamente. O usuário pode entender melhor e sistema e sugerir revisões. Recomenda o uso de técnicas e ferramentas computacionais especiais: JAD, ferramentas CASE, linguagens como Visual Basic, etc. Categorias da abordagem RAD: centrada nos processos, centrada nos dados e orientada a objetos. 18

Desenvolvimento em Fases Quebra um sistema global em uma série de versões. Os requisitos mais importantes e fundamentais são empacotados na primeira versão do sistema. Uma vez que a versão 1 esteja implementada começa a versão 2; e assim para as próximas versões até que o sistema esteja completo. 19

20

Prototipagem As fases de análise, projeto e implementação são executadas repetidamente em um ciclo até que o sistema esteja completo. O primeiro protótipo fornece o mínimo de recursos. Os comentários dos usuários e patrocinadores são usados para reanalisar, reprojetar e reimplementar. Esse processo continua até que os analistas, usuários e patrocinadores concordem que o protótipo fornece funcionalidades suficientes para ser instalado e utilizado na organização. 21

22

Prototipagem Descartável Semelhante à metodologia baseada em protótipos. A fase de análise é praticamente completa. Por meio da análise constrói-se um protótipo do projeto. Os protótipos são utilizados para diminuir os riscos associados ao sistema. Nessa metodologia os protótipos evoluem para o sistema final. 23

24

Desenvolvimento Ágil Teve seu início em meados dos anos 1990. Metodologia centrada na programação. Elimina grande parte das tarefas de modelagem e documentação. Enfatiza o desenvolvimento de aplicativos simples e iterativos. A abordagem de desenvolvimento ágil é normalmente usada em conjunto com metodologias orientadas a objetos. 25

Programação Extrema (XP) Foi criada por Kent Beck e Ward Cunningham (1995). É uma maneira leve, eficiente, de baixo risco, flexível, previsível e científica de desenvolver software. Se baseia em quatro ideias fundamentais: Envolvimento pesado do cliente. Teste de unidade contínuo. Programação pareada. Ciclos curtos de iteração e lançamentos frequentes. Minimiza riscos, controlando custo, tempo, características e qualidade. 26

27

Scrum Deriva de um nome do rugby. A ideia surgiu a partir de um artigo de Takeuchi e Nonaka (1986). Utiliza equipes com não mais de 10 desenvolvedores. É caracterizado por uma iteração entre uma e quatro semanas (sprint). Sempre proporciona um produto utilizável. Projetos scrum tem reuniões diárias de 15 a 30 minutos de duração. 28

29

Processo Unificado É uma metodologia específica que mapeia quando e como utilizar as várias técnicas UML para análise e projeto orientado a objetos. UML fornece suporte estrutural para desenvolver a estrutura e comportamento de um sistema de informação. Processo unificado fornece o suporte comportamental. O processo unificado é orientado a casos de uso, centrado na arquitetura, iterativo e incremental. 30

31

Exercício: Suponha que você é um analista na empresa XPTO, uma grande empresa de consultoria com escritórios em todo o mundo. A empresa quer construir um novo sistema de gestão de conhecimento que pode identificar e rastrear a expertise dos consultores individuais em todo o mundo com base na sua educação e os vários projetos de consultoria em que eles trabalharam. Assuma que se trata de uma ideia nova que nunca antes foi tentada na XPTO ou em qualquer outro lugar. A XPTO tem uma rede internacional, mas os escritórios em cada país podem usar software e hardware um pouco diferente. A gerência da XPTO quer o sistema instalado e funcionando dentro de um ano. 32

Exercício: Você pretende desenvolver um software seguindo os estágios do modelo em cascata, em razão de ponderações que faz em relação a outros modelos quanto à solução de um problema que se apresenta. Desta forma como você definiria em seu cronograma as etapas do ciclo de vida de software? 33

Exercícios: No processo unificado, cinco workflows acompanham o conjunto das fases de desenvolvimento de software. Cada workflow é um conjunto de atividades executadas por vários membros do projeto. Considerando o desenvolvimento de um sistema integrado de gestão (ERP), que workflow descreve o empacotamento em componentes de software dos elementos do modelo de projeto tais como arquivo de código-fonte, biblioteca de ligação dinâmica e componentes executáveis? 34

Conclusão Ciclo de vida de desenvolvimento de sistemas desenvolvimento de sistemas 35