Você está na página 1de 16

Aula 1

Conteúdo programático

 Introdução à Análise de Sistemas;


 Sistema: Definição (Tipos; Natureza; Projeto);
 Ciclo de vida de um sistema;

Introdução à Análise de sistemas

Você sabe o que é análise de sistemas? Quais as atividades desenvolvidas pelo analista de
sistemas? Quais os skills que um profissional da área deve ter?

A análise de sistemas envolve atividades sobre os estudos dos processos para encontrar os
melhores meios de um dado ser processado.

Como atividades, podemos citar

 Desenvolvimento de softwares para uso gerencial e comercial;


 Desenvolvimento e análises de sistemas de dados;
 Orçamentos e cálculos dos recursos;
 Configuração e manutenção de softwares de segurança;
 Administração de redes;
 Administração de dados.

Então, nesse contexto, um software consiste em um programa computacional, onde o analista


de sistema irá criar, desenvolver e planejar softwares conforme os objetivos da empresa ou
negócio de quem contratou.

A análise de sistemas é indicada para quem possui um perfil curioso, gosta de resolver
problemas e tem boa capacidade de raciocínio lógico.

Confira as características do perfil adequado para o curso de análise de sistemas:

 Gostar da matemática e de exatas: embora conte com menos cálculos em comparação


com cursos como engenharia ou ciência da computação, requer boa capacidade de
raciocínio lógico;
 Vontade de aprender inglês: não é obrigatório, mas o idioma facilita muitos processos;
 Dominar o português: os profissionais precisam enviar relatórios e e-mails com
frequência;
 Ter boa capacidade de trabalho em equipe: diferente do que pensam, um programador
não é uma pessoa que trabalha sozinho na frente de um computador;
 Possui rapidez de raciocínio lógico para resolver problemas;
 Preocupar-se em obter produtos de qualidade.

Uma pesquisa da plataforma de recrutamento digital Revelo calculou o cenário de pagamento


de tecnologia em 2018 considerando um total de 1.700 empresas e 200.000 candidatos.
Contudo, o salário médio nacional para desenvolvedores é de R$ 6.452,00 por mês. Quem
trabalha com business intelligence (área de gestão dos negócios de uma empresa por meio de
dados) ganha cerca de R$ 6.240,00.
Ainda de acordo com a pesquisa, um desenvolvedor começa a ganhar cerca de R$ 5.000,00 no
primeiro ano pós-graduação. Porém, o valor do salário sobe pra R$ 8.200,00 após seis anos ou
mais de empresa.

Sistema: Definição (Tipos; Natureza; Projeto);

Por padrão, um sistema tem como definição

“...Um sistema é um conjunto de elementos que se relacionam entre si e, a partir das suas
relações, produz algum tipo de comportamento, função ou qualquer coisa parecida.”

Os sistemas também têm tipos, e normalmente são organizados em categorias

Software de sistemas: servir outros programas (compiladores, editores, utilitários etc.);

• Software de aplicação: resolvem problemas específicos (sistema de apoio a tomada de


decisão, controles de negócio etc.);

• Software científico ou de engenharia: caracterizados pelo processamento de números


(simulação, características de tempo real etc.);

• Software embutido: reside dentro do produto ou sistema. Controla funções do usuário final;

Software para linhas de produto: reutilização por diversos cliente em domínios distintos;

• Aplicações Web: enorme gama de aplicações (B2B, e-commerce etc.);

• Software para inteligência artificial: fogem do processamento tradicional (redes neurais,


algoritmos genéticos, reconhecimento de padrões);

• Computação ubíqua: desenvolvimento para aplicações em dispositivos móveis (comunicação


com a grande rede);

• Software aberto: distribuição do código-fonte com o software (Sistemas Operacionais,


Linguagens de Programação etc.);

Todo sistema normalmente vem com um projeto, e o conceito de projeto é

“...Um projeto é um esforço único, temporário e progressivo empreendido para criar um


produto, serviço ou resultado exclusivo.”

Em outras palavras, um projeto tem início e fim determinados (é, portanto, temporário), e um
objetivo final. Além disso, os recursos de um projeto não são ilimitados e a gestão deles deve
ser planejada previamente.

Veja alguns exemplos


 Desenvolver um novo produto, serviço ou resultado;
 Efetuar uma mudança na estrutura, envolvendo pessoas e/ou processos;
 Adquirir, modificar ou desenvolver um sistema;
 Realizar uma pesquisa cujo resultado será divulgado;
 Construir um prédio, planta industrial ou infraestrutura.

É único
Isso significa que um projeto não pode ser repetido continuamente, ele é um evento único e
planejado. Por exemplo: se um engenheiro receber demandas de dois clientes diferentes para
desenvolver empreendimento com as mesmas características, não poderá oferecer o mesmo
projeto para os dois.

Isso porque cada projeto terá membros, especificidades técnicas, locais de aplicação,
disponibilidade de recursos e provavelmente datas de início e término diferentes.

Tem início e fim definidos


Quando dizemos que ele é temporário, isso não quer dizer que ele terá curto prazo, mas que
há um início e um fim definidos, um prazo a ser respeitado.

É progressivo
Considerando o prazo de conclusão que tem que ser atingido, o projeto deve ser dividido em
etapas, e não entregue de uma vez só. Geralmente, as entregas são compostas por tarefas que
interagem entre si e dependem umas das outras.

Por exemplo, para construir uma casa, é preciso construir as fundações antes de levantar as
paredes. São tarefas ou atividades progressivas que vão dando forma à entrega final.

Tem delimitação de recursos


Os insumos para executar um projeto são limitados conforme o que consta no escopo do
projeto. Para definir as linhas de base dos recursos (sejam eles humanos, financeiros ou
materiais), é comum que se faça um levantamento de custos antes da execução, para garantir
que a falta de algum recurso inviabilize a entrega do projeto.
Tem objetivo claro e viável
Mais uma característica dos projetos é que eles são feitos com um objetivo claro e viável, isto
é, possível de ser alcançado. É necessário esclarecer, porém, que ele não é uma meta, um
desejo ou mesmo a visão de futuro de uma empresa: ele pode ser um caminho para alcançá-
los.

Resumindo:
Ciclo de vida de um sistema

Ciclo de vida do software é o termo utilizado para definir o conjunto de etapas que ocorrem
entre a concepção de um sistema e o instante em que ele é descontinuado pelo desenvolvedor.
Ele ajuda a orientar a equipe de desenvolvedores, assim como o direcionamento de recursos.

Modelos do ciclo de vida de um sistema

Cascata

Esse é um dos modelos mais antigos do mercado. Ele surgiu na década de 1970 e é utilizado
até hoje por várias empresas. As suas etapas principais são:

 a análise e a definição de requisitos;


 o planejamento do projeto de desenvolvimento;
 a implementação das funcionalidades no código-fonte;
 a execução dos testes de segurança e o rastreamento de bugs;

O modelo de cascata é mais rígido do que outras opções modernas. Ele exige que os gestores
iniciem uma etapa apenas após a atual ser completa. Além disso, o término de cada etapa
envolve a criação de um documento que lista resultados e deve ser aprovado pelos líderes do
projeto.

Em outras palavras, o modelo de cascata tem maior foco no planejamento de etapas e exige
uma rigidez maior na hora de executar cada rotina. Assim, os times terão objetivos claros,
imutáveis e transparentes. Isso evita retrabalhos e mudanças inesperadas, que possam
comprometer os prazos atuais.

Incremental

Esse modelo foi criado na década de 1980. Ele tem um contato contínuo entre os responsáveis
pelo projeto e o cliente. Desse modo, é possível maximizar a satisfação e evitar riscos.

No modelo de ciclo de vida incremental, a empresa divide os requisitos e funcionalidades em


módulos. Cada um deles é, então, avaliado e classificado com um nível de prioridades.

Ao término de cada etapa, o cliente recebe uma amostra do software com as funcionalidades
já criadas. Isso permite que os recursos mais importantes sejam testados rapidamente no
ambiente de produção. Ou seja, a empresa terá mais meios para coletar dados sobre o uso da
aplicação e o que pode ser feito para otimizá-la.

As chances de o cliente ter elevada satisfação também são maiores. Afinal, ele poderá entregar
um feedback contínuo sobre os recursos e as suas expectativas. Portanto, a empresa pode criar
maior alinhamento com o usuário e as suas demandas.
Modelo V

Neste modelo, basicamente temos o modelo de cascata colocado em V. Porém, em vez de se


mover para baixo de forma linear, as etapas do processo são dobradas para cima, e cada fase
de codificação do lado esquerdo gera uma fase de teste do lado direito, como:

 teste de unidade valida o projeto do programa;


 teste de sistema valida o projeto de sistema;
 teste de aceitação do cliente valida a análise de requisitos.

Assim como no cascata, no V-Model o cliente só recebe a primeira versão do software no final
do ciclo. E, devido ao planejamento prévio dos testes nas fases de análise e projeto, esse
resultado apresenta menos riscos.

Prototipagem

A Prototipagem consiste na construção de um exemplar com os requisitos essenciais


solicitados pelo cliente. E, num primeiro momento, não é exigido um conhecimento
aprofundado desses tópicos.

A ideia é que ele experimente, na prática, como o sistema ou parte dele funcionará. Então,
após esse primeiro contato, é hora de esclarecer o que não foi bem interpretado, a fim de que
os desenvolvedores consigam aprofundar alguns conceitos e entender um pouco mais sobre as
reais necessidades do cliente.

Depois que o primeiro feedback, e novos requisitos são colhidos, o projeto é aprimorado e
apresentado para a obtenção de novos feedbacks, até que a versão final seja alcançada
satisfatoriamente.

Etapas do ciclo de vida

Definição

A fase de definição é aquela em que o sistema é concebido, ou seja, é o momento no qual, com
base em um problema existente ou com a análise de como os processos atuais são realizados,
são pensadas soluções automatizadas para melhorar a forma de realizar as atividades.

Basicamente, essa é a etapa em que surgem as ideias e na qual elas são debatidas em equipe
para definir como será a solução. Nesse momento, também é escolhida qual metodologia de
desenvolvimento será utilizada.

Desenvolvimento

A fase de desenvolvimento consiste na realização de todas as atividades necessárias para a


construção do sistema, como a definição da UX/UI — User Experience e User Interface, as
quais representam o design da interface com o usuário pensando na melhor experiência para
ele.

A seguir, é feita a programação da aplicação com base na forma de desenvolvimento escolhida,


que pode ser low-code ou high-code, por exemplo — falaremos sobre essas formas de
codificação mais adiante.
Por fim, não podemos esquecer de fazer os testes da aplicação para evitar retrabalhos no
futuro.

Operação e manutenção

A fase de operação é aquela em que o sistema está preparado para ser utilizado e em
constante processo de manutenção. Isso porque, sempre que uma falha for encontrada ou
houver a necessidade de implementar melhorias, o sistema poderá ser modificado.
Aula 2

Conteúdo programático

 Problema;
 Viabilidade;

Aula 3

Conteúdo programático

 Fases de um sistema:
 Análise;
 Projetos;
 Implementação;
 Manutenção;

Fases de um sistema

O Ciclo de Desenvolvimento de Software é um modelo composto por sete fases: Análise de


Requisitos, Estudo de Viabilidade, Design, Codificação, Teste, Instalação, Deploy e Manutenção.

Cada fase serve para orientar e proporcionar flexibilidade para adaptar e executar o projeto de
acordo com o objetivo do cliente.

Por isso, as fases mostram tarefas-chave, no cronograma e na entrega, para garantir a


qualidade do software e que o prazo seja cumprido. Desta forma, o SDLC permite gerenciar
todas as atividades de forma ágil e precisa.

Fase 1: Coleta e Análise de Requisitos

Esta primeira fase do Ciclo de Vida de Desenvolvimento de Software é uma visão geral e das
diretrizes do projeto/software.

Todas as partes interessadas – incluindo clientes, vendedores, especialistas do setor,


desenvolvedores de software, analistas de negócios e gerentes de projeto -, devem colaborar
para juntar as informações necessárias sobre o que será construído. Lembre-se de ser preciso
ao descrever os requisitos; quanto mais detalhado for, melhor.
Fase 2: Estudo de viabilidade de produto

Um estudo de viabilidade é uma imagem clara do projeto. Esta etapa do SDLC é uma das mais
importantes e às vezes pode ser executada simultaneamente à primeira etapa. É importante
que todas as partes interessadas saibam exatamente todo o contexto econômico, técnico,
jurídico e de programação deste projeto, porque isso pode alterar o escopo ou demonstrar se o
software vai funcionar ou não.

É por isso que a análise como um estudo de viabilidade desempenha um papel relevante no
Software Development LifeCycle. Durante o estudo de viabilidade, considere incluir
informações como:

 Descrição do produto ou serviço

 Demonstrativos contábeis

 Detalhes de operação e gerenciamento

 Pesquisa e política de marketing

 Dados financeiros e obrigações fiscais

 Requerimentos legais

 Plano de implementação do projeto

 Tempo e orçamento disponíveis

Existem 5 tipos de estudos de viabilidade: Técnica, Econômica, Jurídica, Operacional e de


Planejamento.

1. Viabilidade Técnica – Tem como objetivo um esboço do projeto dos requisitos do


sistema, para determinar se a empresa possui os conhecimentos técnicos para lidar
com a conclusão do projeto. Portanto, o estudo deve verificar ferramentas,
equipamentos e habilidades necessárias para o projeto, bem como avaliação de
hardware e software, disponibilidade de insumos, fatores de eficiência, entre outros.
2. Viabilidade Econômica – Ajuda as partes interessadas a saber se o software necessário
é financeiramente sustentável para a empresa. Portanto, nesta análise, é obrigatório
reunir informações sobre os custos envolvidos na contratação de equipes de
engenharia e produtos, despesas de hardware e software.
3. Viabilidade Jurídica ou Legal – Verifica se há algum conflito de sistema com os
requisitos legais e éticos, como regulamentação local de proteção de dados, certificado
de projeto, licença, direitos autorais etc.
4. Viabilidade Operacional – Se concentra em descobrir como o produto funcionará, se
será fácil para o usuário final e como os desenvolvedores farão a manutenção após a
implantação. Junto com isso, outros escopos operacionais estão determinando a
usabilidade do produto, determinando que as soluções sugeridas pela equipe de
desenvolvimento de software são aceitáveis ou não etc.
5. Viabilidade de Planejamento – Deve medir principalmente cronogramas/prazos para
levar até o seu término. Considerando sua experiência técnica, os prazos dos projetos
são razoáveis? Alguns projetos são iniciados com prazos específicos. É necessário
determinar se os prazos são obrigatórios ou desejáveis.
Fase 3: Design de Software

É hora de projetar! Nesta etapa do SDLC, a equipe produzirá a DSS (Design Document
Specification – Especificações de Documentação do Projeto) com base nos requisitos do
usuário e na análise detalhada feita na fase anterior.

Fase 4: Desenvolvimento de Software

A próxima fase é o Desenvolvimento, que também é a mais longa. Seguindo o DDS e as


diretrizes de desenvolvimento, os desenvolvedores vão traduzi-los em código-fonte e
linguagem de programação. Todos os componentes do software são implementados nesta fase.

Para serem mais eficientes, as tarefas são divididas em unidades ou módulos e atribuídas aos
vários programadores, em equipes distribuídas, de acordo com as suas competências.

Esta fase será um documento muito útil para todo o processo, incluindo guias de solução de
problemas, FAQs ou apenas comentários no código-fonte para entender por que um
determinado procedimento foi utilizado.

Nela, desenvolvedores também precisam usar aplicativos de controle de acesso ou


gerenciamento de código-fonte ou ferramentas de programação como compilador,
interpretadores e depurador para gerar e implementar o código. Essas ferramentas ajudam os
profissionais a rastrear alterações no código e garantir a compatibilidade entre diferentes
projetos de equipe e garantir que as metas de destino sejam atendidas.

Além das ferramentas, a qualidade da codificação depende da precisão da comunicação entre


todas as partes interessadas, como QA (garantia de qualidade), testadores, DevOps, gerentes
de produto e projeto.

Fase 5: Testagem de Software

A próxima fase é testar o produto desenvolvido. Pesquisas têm mostrado que o processo de
teste frequentemente é responsável por 40% do custo de desenvolvimento de software. Com a
crescente necessidade de alta qualidade e eficiência, é cada vez mais importante que as
organizações aprimorem seus testes de software.
A principal função do teste de software é detectar bugs para descobri-los e detectá-los. O
escopo do teste de software inclui a execução desse código em vários ambientes e o exame dos
aspectos do código.

Fase 6: Lançamento/implantação

A fase de lançamento e implantação concentra-se em observar como o mercado reage ao seu


produto. É hora de lançar a versão final do software após os testes!

Durante a preparação e os procedimentos para a fase de lançamento, a equipe estabelece um


procedimento operacional para organizar como o software deve funcionar no ambiente de TI e
fornecer um plano de mitigação para apoiar o usuário final no reparo do problema.

Depois disso, é hora de programar cada parte do sistema. Esta fase inclui enviar o programa e
programar cada site regional e cada sistema de computador.

Depois que sua equipe implantar o aplicativo e entregá-lo aos usuários, fique atento ao
feedback e verifique se há problemas de implantação e o que precisam ser melhorados, de
acordo com a expectativa do cliente.

Durante a fase de implantação, não se esqueça de identificar as principais equipes e funções


envolvidas, como migrações e atualizações de software e configuração de permissões e
funções de acesso, e tente limitar o impacto de quaisquer problemas de configuração inicial
usando projetos-piloto.

Fase 7: Manutenção

A fase de manutenção envolve correção de bugs, atualização do aplicativo para as versões mais
recentes do software e aprimoramento, adicionando algumas novas especificações
mencionadas na primeira fase. Nesse ponto, o ciclo de desenvolvimento está encerrado.
Aula 4

Conteúdo programático

 Diagrama de fluxo de dados;


 Componentes;
 Níveis;

Diagrama de fluxo de dados

Um diagrama de fluxo de dados (DFD) mapeia o fluxo de informações para qualquer processo
ou sistema. Ele utiliza símbolos definidos, como retângulos, círculos e flechas, além de rótulos
de textos breves, para mostrar entradas e saídas de dados, pontos de armazenamento e as
rotas entre cada destino.

Fluxogramas de dados podem variar de resumos de processos simples, até mesmo desenhados
à mão, a DFDs profundos e de múltiplos níveis, detalhando de forma progressiva o modo como
os dados são manuseados.

Eles podem ser usados para analisar um sistema existente ou modelar um novo. Assim como os
melhores diagramas e gráficos existentes, o DFD pode visualmente “dizer” coisas que seriam
difíceis de explicar em palavras. O DFD funciona bem para o público técnico e não técnico, do
desenvolvedor ao CEO. E é por isso que DFDs ainda são bastante utilizados depois de tantos
anos.

No entanto, embora ainda sejam funcionais para softwares e sistemas de fluxo de dados, hoje
em dia são menos aplicáveis para visualizar software ou sistemas interativos em tempo real ou
orientados a banco de dados.
Símbolos de um diagrama de fluxo de dados

Sejam quais forem as regras ou orientações de DFD utilizadas, os símbolos representam os


quatro componentes de diagramas de fluxo de dados.

1. Entidade externa:

um sistema externo que envia ou recebe dados, comunicando-se com o sistema


sendo diagramado. É a fonte e o destino das informações que entram ou saem do
sistema. Ela pode ser uma organização externa ou pessoa, um sistema de
computador ou um sistema de negócios. Outros termos através dos quais também é
conhecida são: terminadores; fontes e sumidouros; ou atores. É tipicamente
desenhada nas bordas do diagrama.

2. Processo:

qualquer processo que altere os dados, produzindo uma saída. Pode realizar
cálculos, classificar dados com base na lógica ou direcionar o fluxo de dados com
base em regras de negócios. Um rótulo curto é utilizado para descrever o processo,
tal como “Enviar o pagamento”.

3. Armazenamento de dados:

arquivos ou repositórios que armazenam informações para uso posterior,


como uma tabela de banco de dados ou um formulário de adesão. Cada
armazenamento de dados recebe um rótulo simples, como “Pedidos”.

4. Fluxo de dados:

a rota dos dados entre entidades externas, processos e armazenamentos de dados.


Ele retrata a interface entre os outros componentes, é representado por setas e
geralmente é rotulado com um nome de dados curto, como “Detalhes de
faturamento”.
DICAS:

 Cada processo deve ter, pelo menos, uma entrada e uma saída.
 Cada armazenamento de dados deve ter, pelo menos, um fluxo de dados de
entrada e de um fluxo de dados de saída.
 Dados armazenados em um sistema devem passar por um processo.
 Todos os processos em um DFD vão para outro processo ou um armazenamento de
dados.
 Dados armazenados em um sistema devem passar por um processo.

Aula 5

15/04

 Diagrama de fluxo de dados;


 Componentes;
 Níveis;

Exercícios:

Exercício de exemplo

Você precisa preparar um bolo de chocolate

Seguindo as dicas...

ENTRADA PROCESSO SAÍDA


Adição de farinha PREPARAR O BOLO BOLO
Adição de ovos
Adição de açúcar
Adição de fermento
Adição de leite

Diagrama final
Exemplo com deposito de dados:

Exercício em conjunto

Um funcionário é responsável pelo cadastro dos novos clientes na empresa, antes de realizar a
inclusão dele, é preciso verificar junto a receita federal a existência de restrições em seu CPF,
caso não haja problemas o cadastro do novo cliente é realizado com sucesso.

Exercício 1

O caixa de uma loja recebe o cartão de um cliente para pagar sua compra. Ele insere o cartão
na máquina, a senha e solicitada e digitada, a operadora do cartão libera o pagamento e é feita
e emissão da nota fiscal e a liberação do produto.

Você também pode gostar