2. 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. 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 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
7. Windows 8 – Plataformas e Ferramentas
Diagrama de arquitetura
7
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
8. Android OS
Diagrama de Arquitetura
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
11. 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
12. 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
13. 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
14. 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
15. 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
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 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
20. 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. 21
Ciclo de Vida do software
Desenvolvimento
21
Projeto Verificação Validação
Introdução ao Desenvolvimento de Software
Janynne L. S. Gomes
22. 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. 23
Ciclo de Vida do 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
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. 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
28. 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
30. 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
32. 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
34. 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
38. 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. 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. 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. 41
Disciplina: Introdução ao Desenvolvimento de Sistemas
Professora: Janynne L. S. Gomes
Contato: janynne.gomes@outlook.com
www.eteit.univale.br