Sistema de Informação I
Conceitos Básicos de Sistemas
Diego Rodrigues de Almeida
Problemas no Desenvolvimento de Sistema
Um sistema de uma locadora serve para qualquer locadora?
Precisamos conhecer as necessidades nos níveis estratégicos, tático e operacional da empresa
Precisamos conhecer os objetivos da empresa
Especificar sistemas de informação requer não apenas conhecimentos de computação, mas também conhecimentos interdisciplinares
É preciso conhecer a lógica do negócio da empresa cliente
Problemas no Desenvolvimento de Sistema
Problemas no desenvolvimento: Produtividade da equipe Correção da especificação Confiabilidade do sistema Manutenção do código-fonte Segurança dos dados Desempenho
Portabilidade do sistema
São necessárias metodologias de desenvolvimento que, se não resolverem esses problemas, minimize-os
Problemas no Desenvolvimento de Sistema
Desenvolvedores tendem a dar maior atenção aos aspectos relativos à eficácia do que as
necessidades dos usuários
Soluções brilhantes do ponto de vista da
“performance” da máquina, mas que não resolvem o problema do
usuário
Requisitos internos x Requisitos externos
Embora requisitos internos sejam importantes, os clientes só veem requisitos externos
O Perfil do Analista de Sistemas
Para ter boa probabilidade de sucesso o analista de sistemas deve possuir uma formação que vai além das disciplinas voltadas para o conhecimento de computadores
Alguns atributos importantes são:
Comunicação: entendida como capacidade para
ouvir, redigir e expor ideias com clareza e precisão, aprender e expressar o conteúdo do aprendizado com facilidade
O Perfil do Analista de Sistemas
Alguns atributos importantes são: Capacidade de análise: entendida como aptidão
para realizar operações mentais com abstrações
sobre o recorte da realidade em estudo. Possuir uma visão sistemática e critica do contexto em análise,
além de habilidade para distinguir e conceituar categorias de significados de noções concretas e abstratas associadas aos negócios da empresa
Experiência profissional: entendido,
principalmente, como aquele tipo de conhecimento que não pode ser obtido através de treinamento, mas adquirido por meio de experiência pessoal ao longo da vivência com operações da empresa.
O Perfil do Analista de Sistemas
Alguns atributos importantes são:
Ser desenrolado: entendida como habilidade em obter
resultado desejado, ainda que em condições adversas, e capacidade de administrar conflitos de interesses
interpessoais que surjam durante o trabalho em grupo, tornando exequível o concurso de vontade em
cooperação
Administração de projetos: entendido como noções
sobre alocação de tempo e recursos humanos,
financeiros e materiais necessários a projetos, nos quais participam pessoas de formações diferentes, num
empreendimento de característica interdisciplinar,
procurando sempre a efetividade, garantindo não só a eficácia como também a eficácia do processo de
O Perfil do Analista de Sistemas
Alguns atributos importantes são: Conhecimento Técnico: entendido como
capacidade de especificar sistemas de informação, principalmente nas suas fases de nível de abstração mais alto, utilizando ferramentas de modelagem,
especialmente as adotadas pela técnica de análise essencial
O Perfil do Analista de Sistemas
Apesar de serem importantes é muito difícil
encontrar profissionais com todos esses
atributos
Assim, para ser analista de sistemas não é
necessário ter de início todos esses atributos
No entanto são imprescindíveis as duas
primeiras habilidades, pois sem elas fica difícil
atingir as demais
O Perfil do Analista de Sistemas
A distinção destas características evita um
problema comum em empresas de software
Muda-se um ótimo programador ou projetista para função de analista de sistemas
Consequência:
Deixa-se de se contar com um excelente
programador ou projetista e passa-se a contar
com um analista não tão bom
O Perfil do Analista de Sistemas
Analista, projetista e programador possuem papeis bem distintos
Não significa dizer que um é mais importante que o outro. São apenas distintos
Analista de sistemas
Especificar quais são os requisitos do sistema do
ponto de vista de eficácia, ou seja, garantir que o sistema alcance os objetivos globais da empresa
Trata-se de certificar-se de que o sistema fará o que precisa ser feito, fará o que é certo ser feito, independentemente da instrumentação que será usada para chegar a esse objetivo
O Perfil do Analista de Sistemas
Projetista
Tem a função de transformar os requisitos dos utilizadores, modelados pelos analistas de
sistemas, num projeto implementável num computador
O analista de sistemas deve fornecer informações suficientemente detalhadas para que o projetista elabore um projeto tecnologicamente bom
O projetista deve fornecer informações suficientes para que o analista possa dizer se os requisitos dos usuários podem ser completamente atendidos ou devem ser modificados
O Perfil do Analista de Sistemas
Programador
Responsável por codificar e testar (usando
uma linguagem de programação) os módulos
de sistemas modelados pelos projetistas
Aprendizado e Comunicação
O sucesso do produto final depende do sucesso da especificação dos requisitos
O processo de especificação dos requisitos compõe-se de:
Fase de aprendizado (entendimento dos requisitos do sistemas)
Fase de comunicação (apresentação, da solução encontrada para aprovação dos clientes)
Ambas fases devem ser realizadas de forma interativa
Aprendizado e Comunicação
Normalmente, quando um analista inicia o
desenvolvimento de um sistema, ele sabe pouco ou quase nada sobre o sistema a ser desenvolvido
O desenvolvimento começa com uma fase de aprendizado
O usuário expõem o seu problema em linguagem natural , podendo ainda não ser capaz de expressar adequadamente as suas necessidades
Aprendizado e Comunicação
Podemos dividir a etapa do aprendizado em três fases:
Síncrise
Obtém-se uma visão global do assunto em estudo
Processo informal, através do qual tenta-se juntar todos os fatos relevante a respeito do problema em questão e descobrir os
relacionamentos entre estes fatos
Nesta fase, uma dificuldade do analista é reconhecer o que realmente é importante para o sistema
Análise
Identifica-se as variáveis ou ponto-chaves do problema para construção de modelo simplificado com sua estrutura
Nesta etapa é construído uma espécie de maquete
Aprendizado e Comunicação
Podemos dividir a etapa do aprendizado em três fases:
Síntese
Propor hipótese de solução a ser adotada
Tem-se ideia de todo o sistema, quais as suas partes e qual a solução proposta para o problema
Aprendizado e Comunicação
Uma vez terminada a fase de aprendizado,
entramos na fase de comunicação com o usuário Os principais gargalos num processo de
comunicação ocorreram por conta de problemas das seguintes naturezas:
Problemas psicológicos: relacionados com percepção,
atenção, motivação, atitudes, memória, hábitos de pensamento
Problemas semânticos: relacionados com os
significados das palavras, dos objetos e das pessoas, assim como com sua interpretação
Aprendizado e Comunicação
Os principais gargalos num processo de
comunicação ocorreram por conta de problemas das seguintes naturezas:
Problemas sintáticos: relacionados com a estrutura ou
organização dos conteúdos
Problemas de quantidade de informação: relacionados
com informação e dialogo, com a quantidade de ideias transmitidas por diversos canais e com capacidade
Modelagem
Grande parte das deficiências nas especificações de sistemas eram devidas à problemática de
comunicação
Um esforço considerável tem sido feito para superar esse problema
Necessidade de criar uma linguagem que possa ser entendida tanto pelo analista quanto pelos usuários Linguagens independente de implementação foram
definidas para especificar necessidades dos usuários
Modelagem
Entre os objetivos de um modelo podemos destacar:
Estabelecer uma visão comum (entre usuários e analista) do ambiente antes da automação
Servir como suporte para negociação e especificação de requisitos
Representar, avaliar e refinar conceitos do projeto
Reduzir toda informação a frases (usar pouca linguagem natural)
Modelagem
Entre as utilidades de um modelo podemos destacar:
Tratar a complexidade do problema por níveis de abstração
Automatizar atividade de teste (teste de sistema e teste de aceitação)
Analogia de várias plantas de uma casa (planta hidráulica, planta elétrica) com vários modelos de um sistema
Modelagem
São perspectivas que se completam
Modelo funcional
Apresenta uma visão estruturada das funções ou dos processos que compõem o sistema
Modelo de dados
Apresenta uma visão dos dados que serão armazenados para serem usados pelo sistema
Modelo de controle
Representa as transformações de controle e uma visão do comportamento do sistema em relação aos seus diferentes estados válidos, cada um dos quais sendo caracterizado por uma determinada resposta fornecida quando o sistema estiver sujeito a um certo conjunto de estímulos
O Ciclo de Vida do Sistema
O homem Nasce Cresce Se reproduz Morre O Software Especificamos Construímos Implantamos DescartamosO Ciclo de Vida do Sistema
Ciclo de Vida do Sistema Grupo de atividades e a forma como elas se relacionam para produção de sistemas de software
Como toda linha de produção, o desenvolvimento de sistemas pode envolver diversas fases.
Ao encadeamento das fases para a construção do
sistema denominamos ciclo de vida de desenvolvimento de sistemas
O Ciclo de Vida do Sistema
Há na literatura da área diversos enfoques propostos para o ciclo de vida de um sistema
A estes enfoques chamamos de “modelos de ciclo de vida” ou “modelos de processos”
O Ciclo de Vida do Sistema
Modelo Constrói e Conserta
O produto é construído sem qualquer especificação ou projeto.
O produto é retrabalhado quantas vezes for necessário para satisfazer o cliente.
O Ciclo de Vida do Sistema
Modelo Cascata
Definição de requisitos Projeto de sistemas e de software Implementação e teste de unidade Integração e teste de sistema Operação eO Ciclo de Vida do Sistema
Modelo Espiral
O Ciclo de Vida do Sistema
Modelo de Prototipação
Obter Requisitos
Elaborar Projeto Rápido
Construir Protótipo CONSTRUÇÃO
DO PRODUTO Refinamento do Protótipo