• Feed RSS

Pages

Mostrando postagens com marcador Análise de sistemas. Mostrar todas as postagens
Mostrando postagens com marcador Análise de sistemas. Mostrar todas as postagens

Suponha que você é gerente de produtos da empresa MVW produtora de Software. O Sr. José Mesquita, proprietário da Academia Boa Forma, entrou em contato com a MVW solicitando orçamento para desenvolvimento de um aplicativo para controlar sua academia. Ele pretende informatizar praticamente toda a academia: controle de freqüência dos alunos, controle de pagamento de mensalidades, registro dos testes físicos pelos alunos, alocação de professores e funcionários, registro de manutenção dos equipamentos etc. Considerando este cenário, apresente uma proposta de desenvolvimento deste produto de acordo com os itens solicitados abaixo.

Cite as diversas fases do projeto, descrevendo resumidamente as atividades que serão realizadas em cada uma.

Fases do Projeto – Modelo incremental

1.1) Definição

Identificação das necessidades, escopo do problema

Definição dos objetivos

1.2) Planejamento

Identificação e seleção das estratégias para a execução do projeto

Detalhamento de todas as tarefas afim de definir cronogramas, alocação de recursos e custos.

1.3) Execução

Execução das tarefas definidas no projeto.

1.4) Controle

Controle da execução das tarefas executadas afim de avaliar e adequar o planejamento.

1.5) Finalização

Fase de implantação e avaliação dos resultados.

Registro dos resultados afim de gerar o aprendizado.

O Sr. José Mesquita gostaria de saber qual o montante de dinheiro e qual o tempo será necessário para desenvolver seu produto. Esboce uma proposta comercial (prazos e custos) para o cliente e escreva alguns argumentos para convencer o Sr. José Mesquita. Indique possíveis problemas que poderão ocorrer no futuro em relação aos prazos e custos estimados neste momento.

Conforme solicitado pelo sr. José Mesquita, proprietário da Academia Boa Forma, estamos apresentado a proposta comercial de prestação de serviço de consultora e desenvolvimento de software com o objetivo de:

Informatizar a academia controlando a freqüência dos alunos, pagamento das mensalidades, registro dos teste físicos feitos pelos alunos, alocação de professores e funcionários e registro das manutenções dos equipamentos.

Devido a dificuldade pela própria natureza do serviço, da definição dos módulos e opções que farão parte do produto final, esta prestação de serviço se dará em duas etapas.

1a Etapa

Compreende as fases de definição. Nesta fase será prestado um serviço de análise e consultoria.

Principais atividades:

· Serão realizadas entrevistas com todos os envolvidos nos processos. Serão documentados todos os processos.

· Avaliação e sistematização dos processos, se possível, visando melhorar eficiência e eficácia dos mesmos.

· Estudo preliminar de viabilidade custo X benefício.

Produtos entregues:

· Especificações textuais (atas de reuniões)

· Diagrama de use cases.

· Definição do escopo.

Custos:

O custo desta etapa será de R$ 50,00 /hora, sendo previamente estipulado 24 horas para entrevistas e reuniões, além de um custo fixo de 1.000,00 para produção dos produtos a serem entregues. Esta etapa decidirá pela continuidade ou finalização do projeto

2a Etapa

Compreende a fase de planejamento

Principais atividades:

Definição de todas as tarefas do projeto.

Definição do cronogramas de execução de recursos financeiros necessários.

Produtos entregues:

Cronogramas

Proposta comercial com o preço total do projeto

Custos:

Fixo de 1.000,00

3a Etapa

Compreende a fase de execução, controle e finalização.

Principais atividades:

· Criação dos módulos/componentes do software.

· Execução dos casos de teste

· Treinamento do usuário

· Implantação

Produtos entregues:

Módulos ou incrementos de software de cada ciclo de desenvolvimento

Apresente as condições contratuais que você exigiria para assumir os compromissos de prazos e custos deste projeto.

3.1) Os pagamentos deverão ocorrer conforme cronograma definido e de acordo com as entregas planejadas.

3.2) Qualquer solicitação adicional que não estiver definida no projeto deverá ser devidamente analisada, planejada, agendada com os custos decorrentes acordados em adendo contratual.

3.3) Disponibilizar pessoal necessário para entrevista e treinamento conforme a necessidade para o bom andamento do projeto.

Princípios de Resolução de Problemas

Preferimos dizer que o problema é o desvio de um percurso, o qual impede de atingir com o sucesso um determinado objetivo com eficiência e eficácia.

Diferentes das diagramações clássicas, os diagramas de bloco são realmente o melhor instrumento para avaliação do problema do fluxo de informação de um dado sistemas.

Para desenvolver um diagrama correto, devemos:

· Devem ser feitos e quebrados em vários níveis. Devem conter apenas as idéias gerais;

· Deve ser desenvolvido de cima para baixo e da esquerda para direita;

· É incorreto e "proibido" ocorrer cruzamento das linhas de fluxo de dados.

Particularidades entre Lógicas

As representações gráficos de um diagramas de blocos podem ser feitas de várias maneiras e possuírem estruturas diferenciadas. A seguir, são apresentados alguns tipos de procedimentos individualmente.

Linear

A técnica lógica linear é conhecida como um modelo tradicional de desenvolvimento e resolução de um problema. Devemos entender que esse tipo de procedimento está voltado à técnica matemática, a qual permite determinar a atribuição de recursos limitados, utilizando uma coleção de elementos organizados ou ordenados por uma só propriedade.

Exemplo de lógica linear.

Estruturada

A técnica da lógica estrutura é a mais usada pelos profissionais de processamento eletrônico de dados. Tem como pontos fortes para elaboração futura de um programa, produzi-lo com alta qualidade e baixo custo.

A seqüência, a seleção e a iteração são as três estruturas básicas para a construção do diagrama em blocos.

N S

S

N

Sequence

If.. Then... Else

N

S

N

S N

S

Do...Whille N

Do... Until (repeat) S

S

N

S

. N

. S

N

Xase

Exemplo de lógica estruturada

Modular

A técnica da lógica modular deve ser elaborada como uma estrutura de independentes, denominada de módulos. Segundo James Martin, suas metas são as seguintes:

· Compor um diagrama em partes independentes;

· Dividir um problemas menores e mais simples

· Verificar a correção de um módulo de blocos, independentes utilização como uma unidade em processo maior.

A modularização deve ser desenvolvida, se possível, em diferentes níveis.

O modelo padrão de um módulo consiste em três partes: entrada, processamento e saída

S

S

N

N

Exemplo de lógica Modular

Diagrama de Chapin

O diagrama foi desenvolvido por Nassi e Sheneiderman e ampliado por Ned Chaplin, substituíram o diagrama de blocos tradicional por um diagrama em quadros que permite apresentar uma visão hierárquica e estruturada da lógica. A grande vantagem, é a representação das estruturas que tem um ponto de entrada e u ponto de saída e são compostos pelas estruturas básicas de controle de seqüência e repartição.

Português Estruturado

Está técnica de algoritmização é baseada em uma PDL – Program Design Language (linguagem de Projeto de Programação). A forma original de escrita é conhecida como inglês estruturado, é usada como conferência genérica para uma linguagem de projeto de programação, tendo como finalidade mostra uma notação para elaboração de algoritmos, os quais serão utilizados na definição, criação e desenvolvimento de uma linguagem computacional.

Símbolo para a Tomada de decisões

Estrutura do símbolo para a instrução se...então...fim_se

Operadores Relacionais

Ao ser utilizado a instrução se...então...fim_se, ela implica na utilização de condições para verificar o estado de uma determinada variável quanto verdadeiro ou falso. Estas verificações são efetuados conforme a tabela seguinte:

Símbolo

Significado

=

Igual a

<>

Diferente de

>

Maior que

<

Menor que

>=

Maior ou igual a

<=

Menor ou igual a

Desvio condicional Composto

O uso da instrução se...então...senão...fim_se, que sendo a condição Verdadeira, serão executadas todas as instruções que estejam posicionadas entre o se...então e a instrução senão. Sendo a condição Falsa, serão executadas as instruções que estejam entre o senão e a instrução fim_se.

N S

Estrutura do símbolo para a instrução se... então...senão...fim_se.

Desvios Condicionais Encadeados

Existem casos em que é necessário estabelecer verificação de condições sucessivas, em que uma determinada ação poderá ser executada se um conjunto anterior de instruções ou condições for satisfeito. Sendo a ação executada, ela poderá ainda estabelecer novas condições. Este tipo de estrutura são chamadas de aninhamentos ou encadeamentos.

N S

N S

Estrutura condicional composta ou encadeada

Operadores Lógicos

Pode ser que necessite trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução se, efetuando desta forma teste múltiplos. Para estes casos é necessário trabalhar com a utilização dos operadores lógicos, também conhecidos como operadores booleanos. Os mais conhecidos são:.e., .ou. e .não..

Operador lógico: .e. Operador lógico: . ou. Operador lógico: .não.

C1

C2

R


C1

C2

R


C

R

F

F

F

F

F

F

V

F

V

F

F

V

F

V

F

V

F

V

F

F

V

V


V

V

V

V

V

V

Para demostrar a utilização de operadores lógicos em um exemplo um pouco maior, considere o seguinte exemplo:

Exemplo

Ler três valores para os dados de um triângulo, considerando lados como: A, B e C. verificar se os lados fornecidos formam realmente um triângulo, esse for esta condição verdadeira, deverá ser indicada qual tipo de triângulo foi formado: isósceles escaleno ou equilátero. Veja o algoritmo, diagrama de blocos e a codificação em português estruturado, prestando atenção na utilização dos operadores lógicos.

Algoritmo

Para estabelecer este algoritmo, é necessário em primeiro lugar saber o que realmente é um triângulo. Triângulo é uma forma geométrica (polígono) composta por três lado, sendo que cada lado é menor que a dos outros dois lados. Perceba que isto é uma regra (uma condição) e devera ser considerada. É um triângulo quando A B

Tendo certeza de que os valores informados para três lados formam um triângulo será formado: isósceles, escaleno ou equilátero.

Um triângulo é isósceles quando possui dois lados iguais, sendo A=B ou A=C ou B=C; é escaleno quando possui todos os lados diferentes, sendo A<>Be B<>C e é equilátero quando possui todos os lados iguais, sendo A=B e B=C.

1. ler três valores para os lados de um triângulo: A, B e C;

2. verificar se cada lado é menor que a soma dos outros dois lados. Se sim, saber se A=B e se B=C, sendo verdadeiro o triângulo é escaleno;

3. caso os lados fonercidos não caracterizam um triângulo, avisar a ocorrência.

Diagramas de Blocos

N S

N S

N S

Português Estruturado

programa TRIÂNGULO

var

A, B, C : real

início

leia A, B, C

se (A < style="">.e. (B < style=""> .e. (C < style=""> então

se (A = B) .e. (B = C) então

escreva "Triângulo Equilátero"

senão

se (A = B) .ou. (A = C) .ou. (C = B) então

escreva "Triângulo Isósceles"

senão

escreva "Triângulo Escaleno"

fim_se

fim_se

senão

escreva ‘As medidas não formam um triângulo’

fim_se

fim

TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS

Tipos de informação

O computador nada mais é do que uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações, sendo essas, classificadas em: dados e instrução.

Tipos de dados

Os dados são representados por três tipos: dados numéricos (inteiros e reais), dados caracteres e dados lógicos.

Tipos Interinos

São os dados numéricos positivos ou não excluindo-se destes qualquer número fracionário.

Tipos reais

São os dados numéricos positivos, negativos e números fracionários.

Tipos caracteres

São as seqüências contendo letras, números e símbolos especiais.

Tipos lógicos

São os dados com valores verdadeiro e falso, sendo que este tipo de dado poderá representar apenas um dos dois valores. Ele é chamado por alguns de tipo booleano.

O uso de variáveis

Tem-se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável ou constante.

Todo dado a ser armazenado deve ser necessário saber qual o seu tipo para depois fazer o seu armazenamento adequado.

É necessário estabelecer algumas regras de utilização das variáveis, como

· Nomes de uma variável poderão ser atribuídos com um ou mais caracteres;

· O primeiro caractere do nome de uma variável não poderá ser, hipótese alguma, um número;

· Não poderá ser nome de uma variável uma palavra reservada a uma instrução de programa;

· Não poderão ser utilizados outros caracteres a não ser letras e números.

O uso de Constantes

Tem-se como definição de constante tudo aquilo que é fixo ou estável. E existem vários momentos em que este conceito deverá estar em uso.

Os Operadores Aritméticos

Tanto variável como constantes poderão ser utilizadas na elaboração de expressões aritméticas, e para que isto ocorra é necessária a utiização de operadores aritméticos.

Os operadores aritméticos são classificados em binários ou unários.

Operador

Operação

Tipo

Prioridade Matemática

Tipo de Retorno de Resultado

+

Manutenção de Sinal

Unário

1

Positivo

-

Inversão de Sinal

Unário

1

Negativo

?

Exponenciação

Binário

2

Inteiro ou real

/

Divisão

Binário

3

Real

Div

Divisão

Binário

3

Inteiro

*

Multiplicação

Binário

3

Inteiro ou real

+

Adição

Binário

4

Inteiro ou real

-

Subtração

Binário

4

Inteiro ou real

As Expressões aritméticas ou Fórmulas Matemáticas

Será muito comum trabalharmos com expressões aritméticas ou fórmulas matemáticas. Estas expressões são definidas pelo relacionamento existente entre variáveis e constantes numéricas por meio da utilização dos operadores aritméticos.

Instrução Básicas

As instruções são representadas pelo conjunto de palavras-chave, que tem por finalidade comandar em um computador o seu funcionamento e a forma como dados armazenadas deverão ser tratadas. Deve-se ainda considerar que existem várias linguagens de programação.

Deste ponto você terá contato com instrução do pseudocódigo, português estruturados, tais como: início, fim, var, programa, enquanto, e até_que, conjunto, inteiro, real, caractere, lógico, tipo, registro, fim_registro, procedimento, função, caso, fim_caso.

Algumas Regras Antes de Começar

Teremos Ter algum cuidado quando estivermos fazendo referência a uma instrução ou a uma variável. Termos algumas regras a saber:

· Todo problema a ser resolvido será passado para um algoritmo, para depois ser representado por diagramas de blocos;

· Toda referência feita a uma instrução será escrita em letra minúscula em formato negrito. As instruções não serão indicadas dentro dos diagramas de blocos;

· Toda referência feita a uma variável será escrita em letra maiúscula em formato itálico, sendo que serão sempre indicadas dentro dos diagramas de blocos;

· Qualquer valor atribuído a um a variável será feito com o símbolo ?, tanto no diagrama de blocos quanto em código português estruturados.

Entrada, Processamento e Saída

Para criar um programa que seja executável dentro de um computador, deve-se Ter em mente três pontos de trabalhos: a entrada de dados, o seu processamento e a saída deles. Se os dados forem entrados de forma errada, serão consequentemente processados de forma errada e resultarão em resposta erradas.

O processo de execução de um programa ocorre segundo o exposto, após a entrada de dados com a instrução leia e a sua saída com a instrução escreva. O processamento será uma conseqüência da manipulação das variáveis de ação.

Uma entrada e uma saída poderão ocorrer dentro de um computador de diversas formas. Devido a esta grande variedade, nossos programas escritos em português estruturado farão menção às instruções leia e Escreva.

Abaixo é relacionado um exemplo que aplica os conceitos ate aqui estudados

Exemplo

Construir um programa que efetue o cálculo do salário líquido de um professor. Para fazer este programa, você deverá possuir alguns dados, tais como: valor da hora aula, número de horas trabalhadas no mês e percentual de desconto do INSS. Em primeiro lugar, deve-se estabelecer qual será o seu salário bruto para efetuar o desconto e ter o valor do salário líquido.

Algoritimo

· Estabelecer a leitura da variável HT (horas trabalhadas no mês);

· Estabelecer a leitura da variável VH (valor hora aula);

· Estabelecer a leitura da variável PD (percentual de descontos);

· Calcular o salário bruto, sendo este a multiplicação das variáveis HT e VH;

· Clacul;ar o total de desconto (TD) com base no valor de PD dividido por 100;

· Calcular o salário líquido (SL), deduzindo o desconto do salário bruto;

· Apresentar os valores dos salários bruto e líquido.

Diagrama de Bloco

Português Estruturado

programa SALARIO_PROFESSOR

var

HT : inteiro

VH, PD, TD, SB : real

início

leia HT

leia VH

leia PD

SB ? HT * VH

Td ? (PD/100) * SB

SL ? SB – TD

escreva SB

escreva SL

fim