INFORMAÇÃO DE SISTEMAS DE DESENVOLVIMENTO CICLO DE VIDA …
Transcript of INFORMAÇÃO DE SISTEMAS DE DESENVOLVIMENTO CICLO DE VIDA …
CICLO DE VIDA DO DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃOME. MARCELO AIRES
Relembrando▸ Tecnologia▸ Tecnologias na Computação
▹ Laptops, Desktops, Smartphones, Tablets, Roteadores e Switches
▸ Tendências Tecnológicas▹ Inteligência Artificial, Coisas autônomas, Big Data, Internet das Coisas
(IoT), Realidade Virtual, Realidade Aumentada, Blockchain, Criptomoedas, Nanotecnologia, Impressão 3D e Computação Quântica
2
Agenda▸ Introdução▸ Principais fases▸ Modelos
▹ Cascata, Espiral, Incremental, V, Prototipagem e Metodologias Ágeis
▸ O gerenciamento do ciclo de vida da aplicação▸ Modelagem de Sistemas
3
INTRODUÇÃO...contextualizando o tema.
4
Introdução▸ Para iniciar qualquer desenvolvimento, é necessário ter um
guia para não se perder no meio do caminho.▸ Este guia para desenvolvimento de um produto, é chamado
de ciclo de vida - consiste desde o planejamento ao produto final.
▸ Como qualquer produto, o software também possui ciclos de vida e modelos que podem ser adotados.
5
O que é o CVDS?▸ Um Ciclo de Vida de Desenvolvimento de Software - CVDS,
segundo a norma NBR ISO/IEC 12207:1998, se define como:▹ “Estrutura contendo processos, atividades e tarefas envolvidas no
desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema, desde a definição de seus requisitos até o término de seu uso.”
6
O que é o CVDS?▸ Uma definição mais simples seria: "É um processo utilizado
por um analista de sistemas para desenvolver um sistema de informação." (wikipédia)
▸ De maneira menos formal: é um processo reconhecido pela indústria como uma série de atividades ou etapas para o desenvolvimento de um novo produto software ou para modificar um software existente.
7
O que é o CVDS?▸ A principal função do ciclo de vida do desenvolvimento de
software é indicar as fases, atividades, entregas e responsabilidades de cada envolvido no processo de desenvolvimento de software.
▸ As principais fases são: de requisitos, de projeto, de implementação, de testes e de produção.
8
Principais fases
9
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
Principais fases
10
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
necessidade do consumidor
11
▸ necessidade que ainda não foi atendida▸ possibilidades de inseri-la no contexto▸ curto, médio ou longo prazo
“viabilidade, custos, aspectos técnicos e todo tipo de investigação preliminar que pode reduzir os riscos e potencializar a tomada de decisão.
12
enfrentamento da ideia
Principais fases
13
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
construção do plano de negócio
14
Vai nortear todos os processos produtivos do produto.▸ O que é seu produto?▸ Quem são clientes, concorrentes, etc?▸ Qual o posicionamento do seu produto?▸ Qual a melhor maneira de executar as tarefas?▸ Qual investimento e projeção de retorno?
Principais fases
15
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
meter a mão na massacumprir os prazos,
orçamento e exigências
16
Principais fases
17
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
confronto prático - choque de realidade
18
Ajustes realizados
Alinhamento do produto com o cliente.Correção de erros.
Viabilidade testada
Momento em que tudo que foi construído é colocado à prova.
Resultado satisfatório
Alcance de um produto adequado a realidade.
Principais fases
19
IDEIA
Requisitos
levanta os requisitos mínimos, estuda a viabilidade e define o modelo a ser usado.
PLANO
Projeto
Planejamento do software: concepção, especificação, design da interface, prototipação, design da arquitetura.
CONTRUÇÃO
Implementação
tradução para uma linguagem de programação das funcionalidades definidas durante as fases anteriores.
CONFIRMAÇÃO
Testes
realização de testes no que foi desenvolvido de acordo com os requisitos.
PRODUTO
Produção
implantação em produção do produto final.
LANÇAMENTO E MARKETINGMomento de vender o bichão
$
COMO MONETIZAR?Quero dinheiro no bolso!
?
VISUALIZAÇÕESAnúncios PPC ou Empresas
MENSALIDADEManutenção e Custos
REQUISIÇÕESPedidos, Compras, Afiliados
22
MODULARIDADEMódulo ou Especialidade
MODELOS DO CICLO DE VIDA...desenvolvimento de SI.
23
Modelos do ciclo de vida de desenvolvimento de SI▸ Existem diversos modelos que podem ser adotados. Os
principais são:▹ Modelo em Cascata▹ Modelo Espiral▹ Modelo Incremental▹ Modelo em V▹ Prototipagem▹ Metodologias Ágeis
24
Modelo em Cascata▸ Divide todo o processo de
desenvolvimento de software em fases separadas e sequenciais onde o desenvolvimento movimenta-se somente num sentido, de modo que as etapas não podem ser repetidas.
▸ Somente quando uma fase estiver concluída a outra fase poderá iniciar.
▸ Neste modelo nenhum componente do sistema será entregue até a proximidade final do projeto.
25
Modelo Espiral▸ O software é entregue em versões,
onde cada versão passa por cada etapa do ciclo de desenvolvimento. Produto final é entregue rapidamente.
▸ Ciclo de atividades em 4 estágios:▹ Determina objetivos, soluções alternativas
e restrições.▹ Analisa os riscos do estágio anterior▹ Atividades da fase de desenvolvimento:
design, especificação, codificação e verificação
▹ Revisão das etapas anteriores e o planejamento da próxima fase
26
Modelo Incremental▸ Desenvolve várias partes do sistema
em paralelo e as íntegra ao concluí-las.▸ O desenvolvimento é dividido em
"incrementos" que produzem o sistema de forma incremental até a sua versão final.
▸ Cada incremento passa por todo o ciclo de desenvolvimento do software, produzindo um sistema funcional embora não atenda todos os requisitos.
27
Modelo em V (regressão)▸ o modelo em cascata é colocado em
forma de "V".▸ Do lado esquerdo ficam da análise ao
projeto, a codificação fica no vértice e os testes, desenvolvimento, implantação e manutenção, à direita.
▸ O que diferencia do modelo em cascata, é a ênfase dada à verificação e validação: cada fase do lado esquerdo gera um plano de teste a ser executado no lado direito.
28
Prototipagem▸ Constrói um protótipo do produto de
software para mostrar suas funcionalidades de forma limitada.
▸ É usado para permitir que os usuários avaliem propostas de desenvolvedores testando-as antes da implementação final do produto.
▸ Ajuda a compreender as exigências específicas do usuário que não podem ter sido consideradas pelos desenvolvedores durante a fase de concepção do produto.
29
Metodologias Ágeis▸ Cada iteração é um mini-projeto, que
normalmente dura de 1 a 4 semanas, e inclui todas as fases para implementá-lo.
▸ Ao final de cada iteração deve haver uma entrega ao cliente, que inclua um conjunto de novas funcionalidades, uma nova versão de software.
▸ Após essa entrega há um novo processo de comunicação com o cliente e então são definidas quais deverão ser as novas entregas.
30
CICLO DE VIDA DA APLICAÇÃO...como gerenciar?
31
O gerenciamento do ciclo de vida da aplicação - ALM
▸ Semelhante ao CVDS.▸ Application Lifecycle Management (ALM) atua
no acompanhamento de todo o processo de vida útil de uma aplicação, da construção de à alterações, integrando todas as fases da engenharia de software:▹ análise de requisitos, modelagem de arquitetura,
desenvolvimento de código, gerenciamento de mudanças, gerenciamento de testes e gerenciamento de versões de produtos realizados.
32
MODELAGEM DE SISTEMAS...como gerenciar?
33
Modelagem de Sistemas▸ Os desenvolvedores de sistemas usam dados, processos e
modelos de objeto para compreender os sistemas existentes e projetar os novos.
▸ Estes modelos fornecem uma linguagem que os analistas, os projetistas e os desenvolvedores podem usar para comunicar-se eficientemente.
34
Modelagem de Sistemas▸ Alguns software geram programas de computador
diretamente dos modelos de sistemas e outros softwares geram modelos de sistemas a partir de programas existentes.
▸ Muitos produtos suportam, também, a tradução entre modelos do mesmo tipo, por exemplo, de um modelo de dados para outro.
35
Modelagem de Sistemas▸ Alguns software geram programas de computador
diretamente dos modelos de sistemas e outros softwares geram modelos de sistemas a partir de programas existentes.
▸ Muitos softwares suportam a tradução entre modelos do mesmo tipo, por exemplo, de um modelo de dados para outro.
36
Modelagem de Sistemas▸ Existem diversos modelos, alguns deles são:
▹ Modelos de Dados▹ Modelos de Processos ▹ Diagrama de Fluxo de Dados (DFD) ▹ Modelos de Objeto
37
Modelos de Dados▸ Descrevem os relacionamentos entre
os elementos de dados que uma organização usa.
▸ O modelo E-R (Entidade – Relacionamento) é um dos modelos de dados mais extensamente usados.
38
Modelos de Processos▸ Dividem um processo em suas partes,
mostram como estas partes se relacionam entre si e indicam as saídas e entradas dos processos.
▸ Os modelos mais populares incluem diagramas de estrutura e diagramas de fluxos de dados.
▸ Os diagramas de estrutura mostram o relacionamento entre os programas (ou módulo) e subprogramas que compreenderão o sistema acabado.
39
Diagrama de Fluxo de Dados (DFD)
▸ Os DFDs modelam o fluxo de dados entre processos. Eles não modela a ordem em que as tarefas são executadas.▹ As setas indicam o fluxo dos dados;▹ os retângulos abertos lateralmente
representam dados armazenados;▹ os círculos indicam processos; e ▹ os retângulos fechados representam as
fontes das entrada ou os usuários das saídas.
40
Modelos de Objeto▸ Descrevem as propriedades dos
objetos, seus relacionamentos entre si e as funções que executam.
▸ Os modelos incluem, normalmente, os diagramas de herança e podem incluir diagramas de estado (mudança de características a partir de eventos).
▸ Os objetos incorporam os dados e as operações que podem ser executadas.
▸ Linguagem de Modelagem Unificada (UML – Unified Modeling Language).
41
Exercício de Fixação▸ Avalie as principais fases do ciclo de desenvolvimento e
faça um resumo sobre a importância de cada fase.▸ Faça uma pesquisa sobre as metodologias ágeis e escreva
um resumo sobre cada uma, com definição e vantagens.▸ Sobre os modelos de sistemas, escolha um que você se
identificou e defenda-os mostrando que ele é melhor que os demais.
42