Upload
janynne-gomes
View
569
Download
1
Embed Size (px)
DESCRIPTION
Disciplina: Introdução ao Desenvolvimento de Sistemas Professora: Janynne L. S. Gomes Contato: [email protected] www.eteit.univale.br
Citation preview
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 SoftwareJanynne 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 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
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
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çã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
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ção e 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
Enge
nh
aria
de
Soft
war
e
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: [email protected]
www.eteit.univale.br