Introdução ao Desenvolvimento de Sistemas
Janynne L. S. Gomes
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
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 Software
Janynne L. S. Gomes
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
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
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
Windows 8 – Plataformas e Ferramentas
Diagrama de arquitetura
7
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
Android OS
Diagrama de Arquitetura
8
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Exemplo
Tipos de Sistemas
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
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 muitoao Google Earth
da empresa estadunidenseGoogle Inc..
Ele conecta-seao 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
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íficoe de Engenharia
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
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
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
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
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
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
Ciclo de vida do software
Definição
Levantamento da
situaçãoatual
Estudode
Viabilidade(custo
x benefício)
Propostade
Desenvolvimento
Levantamento de
requisitos
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
21
Ciclo de Vida do software
Desenvolvimento
21
Projeto Verificação Validação
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
22
Ciclo de Vida do software
Operação
22
Distribuição
e entrega
Instalaçãoe
configuração
Utilização Manutenção
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
23
Ciclo de Vida do software
Retirada
23
Reengenharia
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Engenhariade
Software
Ferramentas
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
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
Cascata
Modelo de Processo de Software
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Prototipação
Modelo de Processo de Software
29
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Concorrente
Modelo de Processo de Software
31
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Incremental
Modelo de Processo de Software
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
Desenvolvimento Ágil
Modelo de Processo de Software
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
Comparação com Incremental e Iterativo
Descontraindo...
36
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
Importância da metodologia
Descontraindo...
37
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
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
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
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
41
Disciplina: Introdução ao Desenvolvimento de Sistemas
Professora: Janynne L. S. Gomes
Contato: janynne.gomes@outlook.com
www.eteit.univale.br

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

  • 1.
    Introdução ao Desenvolvimentode Sistemas Janynne L. S. Gomes
  • 2.
    AULA 1 CONCEITOS GERAIS APLICADOSNO CICLO DE VIDA DO SOFTWARE E MODELOS DE PROCESSO 2 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 3.
    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 Software Janynne L. S. Gomes
  • 4.
    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
  • 5.
    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
  • 6.
    Sistema computacional Consiste numconjunto 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
  • 7.
    Windows 8 –Plataformas e Ferramentas Diagrama de arquitetura 7 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 8.
    Android OS Diagrama deArquitetura 8 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 9.
    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
  • 10.
    Exemplo Tipos de Sistemas Introduçãoao Desenvolvimento de Software Janynne L. S. Gomes
  • 11.
    11 Aplicações do software Softwarede 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
  • 12.
    Científico e deEngenharia 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 muitoao Google Earth da empresa estadunidenseGoogle Inc.. Ele conecta-seao 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
  • 13.
    Software DIRECTVIEW DRe 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íficoe de Engenharia Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 14.
    Embarcados ou embutidos O GoogleGlass é 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
  • 15.
    Embarcados ou embutidos Assim comoos 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
  • 16.
    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
  • 17.
    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
  • 18.
    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
  • 19.
    19 Ciclo de vidado 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
  • 20.
    Ciclo de vidado software Definição Levantamento da situaçãoatual Estudode Viabilidade(custo x benefício) Propostade Desenvolvimento Levantamento de requisitos Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 21.
    21 Ciclo de Vidado software Desenvolvimento 21 Projeto Verificação Validação Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 22.
    22 Ciclo de Vidado software Operação 22 Distribuição e entrega Instalaçãoe configuração Utilização Manutenção Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 23.
    23 Ciclo de Vidado software Retirada 23 Reengenharia Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 24.
    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 Engenhariade Software Ferramentas Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 25.
    25 Modelos de Processo Osmodelos 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
  • 26.
    26 Modelo Cascata • Principaiscaracterí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
  • 27.
    Cascata Modelo de Processode Software Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 28.
    28 Modelo Prototipação • Principaiscaracterí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
  • 29.
    Prototipação Modelo de Processode Software 29 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 30.
    30 Modelo Concorrente • Principaiscarcaterí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
  • 31.
    Concorrente Modelo de Processode Software 31 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 32.
    32 Modelo Incremental • Principaiscaracterí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
  • 33.
    Incremental Modelo de Processode Software Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 34.
    34 Desenvolvimento Ágil • Principaiscaracterí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
  • 35.
    Desenvolvimento Ágil Modelo deProcesso de Software Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 36.
    Comparação com Incrementale Iterativo Descontraindo... 36 Introdução ao Desenvolvimento de Software Janynne L. S. Gomes
  • 37.
    Importância da metodologia Descontraindo... 37 Introduçãoao Desenvolvimento de Software Janynne L. S. Gomes
  • 38.
    38 Referência • LEITE, JairC. 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
  • 39.
    39 Extras Algumas empresas quetrabalham 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
  • 40.
    40 Praticando 1. Cite trêsexemplos 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
  • 41.
    41 Disciplina: Introdução aoDesenvolvimento de Sistemas Professora: Janynne L. S. Gomes Contato: janynne.gomes@outlook.com www.eteit.univale.br