aula 1 - conceitos gerais aplicados no ciclo de vida do software e modelos de processo

41
Introdução ao Desenvolvimento de Sistemas Janynne L. S. Gomes

Upload: janynne-gomes

Post on 30-Jun-2015

569 views

Category:

Technology


1 download

DESCRIPTION

Disciplina: Introdução ao Desenvolvimento de Sistemas Professora: Janynne L. S. Gomes Contato: [email protected] www.eteit.univale.br

TRANSCRIPT

Page 1: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Introdução ao Desenvolvimento de Sistemas

Janynne L. S. Gomes

Page 2: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

AULA 1

CONCEITOS GERAIS

APLICADOS NO CICLO DE VIDA

DO SOFTWARE E MODELOS DE

PROCESSO

2

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 3: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

3

Agenda

• O que é um programa?

• O que é um sistema?

• Tipos de Sistemas

• Aplicações do software

• Diferença entre dado e informação

• Ciclo de vida do software

• Processos

• Modelos de Processo

3

Introdução ao Desenvolvimento de SoftwareJanynne L. S. Gomes

Page 4: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

O que é um programa?

Um programa de computador ou

programa informático é uma

coleção de instruções que

descrevem uma tarefa a ser

realizada por um computador.

O termo pode ser uma referência

ao código fonte alguma linguagem

de programação, ou ao arquivo que

contém a forma executável deste

código fonte.

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 5: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

O que é um sistema?

5

Um sistema (do grego sietemiun), é

um conjunto de elementos

interconectados, de modo a formar

um todo organizado.

Todo sistema possui um objetivo

geral a ser atingido.

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 6: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Sistema computacional

Consiste num conjunto de

dispositivos eletrônicos (hardware)

capazes de processar informações

de acordo com um programa

(software).

O software mais importante é o

sistema operacional, porque ele

fornece as bases para a execução

das aplicações, às quais o usuário

deseja executar.

6

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 7: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Windows 8 – Plataformas e Ferramentas

Diagrama de arquitetura

7

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 8: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Android OS

Diagrama de Arquitetura

8

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 9: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

9

Tipos de sistemas

• Sistemas de Trabalhadores de Conhecimento (STCs) e Sistemas

de automação de escritório

• Sistemas de Informação Gerenciais (SIG)

• Sistemas de Apoio a Decisão (SAD)

• Sistemas de Apoio ao Executivo (SAEs)

• Sistemas de Informação Financeira e Contábil

• Sistemas de Recursos Humanos

• Gerenciamento da cadeia de suprimento (SCE)

9

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 10: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Exemplo

Tipos de Sistemas

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 11: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

11

Aplicações do software

Software de Sistema

Compiladores

Gerenciador de Arquivos

IDEs

Científico e de Engenharia

Médicos

Simuladores

Matemáticos

Comerciais

Vendas

Gestão

Automação

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 12: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Científico e de Engenharia

NASA World Wind é um programa

desenvolvido pelo ARC da Administração

Nacional de Aeronáutica e Espaço

(NASA), e que apresenta ao usuário

imagens em 3D do globo terrestre,

assemelhando-se muito ao Google Earth

da empresa estadunidense Google Inc..

Ele conecta-se ao banco de dados da

NASA, carregando imagens captadas por

seis satélites em órbita ao redor do

mundo, mostrando pontos de qualquer

parte do planeta, com imagens de alta

qualidade, permitindo "viajar" por toda a

Terra. As montagens virtuais são todas

em 3D, trabalhando ainda com a procura

de lugares pelo nome.

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 13: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Software DIRECTVIEW DR e CR é

utilizado para realização de

redriografias. Uma das vantagens é

a criação de imagens ortopédicas

longas, realização de exames de

mamografiae etc.

13

Científico e de Engenharia

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 14: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Embarcados ou

embutidos

O Google Glass é um dispositivo

semelhante a um par de óculos,

que fixados em um dos olhos,

disponibiliza uma pequena tela

acima do campo de visão.

A pequena tela apresenta ao seu

utilizador mapas, opções de

música, previsão do tempo, rotas

de mapas, e além disso, também é

possível efetuar chamadas de vídeo

ou tirar fotos de algo que se esteja

a ver e compartilhar imediatamente

através da Internet.

14

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 15: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Embarcados ou

embutidos

Assim como os demais telefones

celulares, o Nokia Lumia embarca

alguns softwares.

O software escrito para sistemas

embarcados é muitas vezes

chamado firmware, e armazenado

em uma memória ROM ou

memória flash ao invés de um disco

rígido.

Em geral tais sistemas não podem

ter sua funcionalidade alterada

durante o uso. Caso queira-se

modificar o propósito é necessário

reprogramar todo o sistema.

15

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 16: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Inteligência artificial

Isomer Programming é um bot de

chat avançado, sua utilização se dá

como um auxiliar de recepção e

entretenimento.

Para Aib aprender e descobrir o

que dizer, ele usa uma base de

"fluxo de consciência" lógica

desenvolvida por Matthew Rodgers,

um investigador profissional de

renome na área de Inteligência

Artificial.

16

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 17: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Sistema Comercial

O VITRINE é um software de

vendas que permite agilidade no

fluxo de informações envolvendo

os processos de frente de loja,

estoque, faturamento, financeiro,

cupom e nota fiscal.

17

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 18: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Dado vs Informação

Dado

É uma parte pequena da informação, que sozinho não faz nenhum sentido.

Informação

É um conjunto de dados que agrupados fazem sentido e servem como base para tomada de decisão.

18

Rua Bairro

Número

Cidade

CEP

Endereço

Rua Número Bairro Cidade CEP

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 19: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

19

Ciclo de vida do software

O ciclo de vida de um software descreve as fases pelas quais o software passa

desde a sua concepção até a descontinuidade de seu uso.

19

Definição Desenvolvimento Operação Retirada

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 20: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Ciclo de vida do software

Definição

Levantamento da situação atual

Estudo de Viabilidade (custo

x benefício)

Proposta de Desenvolvimento

Levantamento de requisitos

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 21: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

21

Ciclo de Vida do software

Desenvolvimento

21

Projeto Verificação Validação

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 22: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

22

Ciclo de Vida do software

Operação

22

Distribuição e entrega

Instalação e configuração

Utilização Manutenção

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 23: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

23

Ciclo de Vida do software

Retirada

23

Reengenharia

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 24: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

24

Processo de Software

• É um conjunto de atividades para construir um software de

qualidade.

• É agrupado em categoria nos modelos de processo de software

Qualidade

Processos

Métodos

Enge

nh

aria

de

Soft

war

e

Ferramentas

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 25: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

25

Modelos de Processo

Os modelos definem os grupos de processos a serem implementados durante o

desenvolvimento de um produto de software.

Como escolher?

1. Identifique a natureza do projeto

2. Identifique métodos e ferramentas á serem utilizados

3. Identifique os controles e produtos que precisam ser entregues

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 26: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

26

Modelo Cascata

• Principais características

– Sequencial

– É o modelo mais antigo de processos

• Quando não utilizar?

– O projeto tem prazo curtíssimo

– Poderão existir muitas alterações nos requisitos

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 27: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Cascata

Modelo de Processo de Software

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 28: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

28

Modelo Prototipação

• Principais características

– Ideal para identificar requisitos

– Gera uma versão inicial do software

– Simula a aparência e comportamento

– Reduz custos com o desenvolvimento

– Á cada iteração gera uma versão funcional

PERIGO!

O cliente pode achar que este software está pronto e querer

usar o protótipo, ao invés de esperar o software ser

desenvolvido

28

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 29: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Prototipação

Modelo de Processo de Software

29

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 30: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

30

Modelo Concorrente

• Principais carcaterísticas

– Organiza as atividades apresentando seus estados atuais

– Define uma rede de atividades

– Uma mudança de estado de um atividade causa mudança em

demais estados de outras atividades da rede

– Oferece visão exata de como está o projeto

30

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 31: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Concorrente

Modelo de Processo de Software

31

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 32: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

32

Modelo Incremental

• Principais características

– Combina o modelo em Cascata com a filosofia Iterativa da

Prototipação

– As repetições das etapas são chamadas de Iterações

– Cada iteração gera um incremento

– Cada incremento entrega um produto funcionando

– O resultado do primeiro incremento é o "núcleo do produto"

32

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 33: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Incremental

Modelo de Processo de Software

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 34: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

34

Desenvolvimento Ágil

• Principais características

– Fases curtas de desenvolvimento (1 a 4 semanas)

– Comunicação em tempo real com os stakeholders

– Comunicação face-a-face ou verbal(documentada)

– Reuniões de planejamento e validação

Perigo!

Não esqueça de fazer a documentação e nem abra mão da

qualidade.

34

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 35: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Desenvolvimento Ágil

Modelo de Processo de Software

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 36: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Comparação com Incremental e Iterativo

Descontraindo...

36

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 37: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

Importância da metodologia

Descontraindo...

37

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 38: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

38

Referência

• LEITE, Jair C. Ciclo de vida de Software. 2007.

Disponível em: http://engenhariadesoftware.blogspot.com/2007/02/ciclo-

de-vida-do-software-parte-1.html

• PINTAUD, Marcelo e OLIVEIRA, Elisamara. Engenharia de Software e

Engenharia de Requisitos. 2014.

• FIGUEIREDO, IRIA LUPPI. 2008.

http://www.oficinadanet.com.br/artigo/738/tipos_de_sistemas_de_informac

ao_na_empresa

38

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 39: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

39

Extras

Algumas empresas que trabalham com desenvolvimento de software

no Brasil:

• http://www.totvs.com

• http://www.thoughtworks.com

• http://www.hbsis.com.br

• http://www.ciandt.com/br-pt

• http://www.bhsistemas.com.br

• http://www.lambda3.com.br

Page 40: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

40

Praticando

1. Cite três exemplos de tipos de sistemas.

2. O que você entendeu por "ciclo de vida"?

3. Qual a principal carcaterística do modelo Concorrente?

4. Em que tipo de projeto você usaria o modelo de processo

Prototipação? Descreva o contexto.

5. Qual o motivo de não ser recomendada a utilização do modelo

Cascata?

6. Descreva passo a passo como ocorre o desenvolvimento de

software utilizando o modelo Incremental.

7. Descreva as vantagens do desenvolvimento ágil.

Introdução ao Desenvolvimento de Software Janynne L. S. Gomes

Page 41: AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS DE  PROCESSO

41

Disciplina: Introdução ao Desenvolvimento de Sistemas

Professora: Janynne L. S. Gomes

Contato: [email protected]

www.eteit.univale.br