Análise de Sistemas: Fundamentos, Modelagem e Metodologias
Classificado em Computação
Escrito em em
português com um tamanho de 10,88 KB
Análise de Sistemas
Aspectos Relevantes
- Ter conhecimento de todas as necessidades nos níveis estratégico, tático e operacional, não apenas nos sistemas atuais, mas também nos sistemas futuros, sejam eles automatizados ou não.
- A inadequação dos sistemas é comum porque os profissionais de informática tendem, durante a fase de desenvolvimento, a dar maior atenção aos aspectos pertinentes à eficiência ou ao desempenho, em detrimento dos aspectos relativos à eficácia ou à adequação dos sistemas às necessidades dos usuários.
- Construção de sistemas efetivos, que sejam úteis para os usuários e para a empresa de modo global.
Especificação
É o detalhamento do comportamento de uma funcionalidade do sistema.
Problemas Comuns no Desenvolvimento de Sistemas
- Produtividade da equipe;
- Correção da especificação;
- Confiabilidade do sistema;
- Manutenibilidade do código-fonte;
- Segurança dos dados;
- Desempenho;
- Portabilidade do sistema;
- Perfil desejável dos analistas de sistemas;
- Aprendizado;
- Comunicação.
Definição de Análise de Sistemas
Consiste nos métodos e técnicas de investigação e especificação da solução de problemas, a partir de requisitos levantados, para a criação e implementação de um software.
Perfil do Analista de Sistemas
Habilidades importantes para um bom desempenho nas atividades:
- Comunicação;
- Capacidade de análise;
- Conhecimento da área usuária;
- Capacidade de negociação;
- Administração de projetos;
- Conhecimento técnico.
O Papel dos Profissionais no Desenvolvimento
- Analista:
- Especificar quais são os requisitos do sistema do ponto de vista da eficácia, ou seja, garantir que o sistema alcance os objetivos globais da organização.
- Projetista:
- Volta-se para a eficiência, isto é, focado na obtenção do melhor desempenho individual dos componentes do sistema.
- Programador:
- Constrói (implementa) o sistema de acordo com as especificações feitas pelo projetista.
Aprendizado e Comunicação
- Aprendizado:
- Entendimento dos requisitos do sistema.
- Comunicação:
- Apresentação da solução encontrada para aprovação dos usuários.
Fases do Aprendizado
- Síncrise: Processo informal através do qual se tenta juntar todos os fatos relevantes a respeito do problema em questão e descobrir os relacionamentos entre estes fatos.
- Análise: Consiste em identificar as variáveis ou pontos-chave do problema para a construção de um modelo simplificado de sua estrutura, com seus elementos e relações.
- Síntese: Obtém-se a ideia de todo o sistema, quais as suas partes e qual a solução proposta para o problema.
Problemas na Comunicação
- Problemas Psicológicos:
- Relacionados com percepção, atenção, motivação, atitudes, memória e hábitos de pensamento.
- Problemas Semiológicos:
- Relacionados com o emprego de signos e códigos para comunicar: palavras, gestos, tom de voz, documentos escritos, etc.
- Problemas Semânticos:
- Relacionados com os significados das palavras, dos objetos e das pessoas, assim como sua interpretação.
- Problemas Sintáticos:
- Relacionados com a estrutura ou organização dos conteúdos e dos signos.
- Problemas Cibernéticos:
- Relacionados com a retroinformação e o diálogo, com a quantidade de ideias transmitidas por diversos canais e com a capacidade destes para levarem sinais.
Modelagem de Sistemas
Desenvolveram-se linguagens que incluíam recursos necessários para definir as necessidades do usuário, independentemente de qualquer restrição relativa à implementação. A linguagem de especificação contorna o termo técnico, de modo a se tornar mais inteligível ao usuário não-técnico e, por outro lado, continua precisa, permitindo produzir uma especificação que seja base para um subsequente projeto operacional dos Sistemas de Informação (SI).
Abordagens Utilizadas na Modelagem
As abordagens de modelagem geralmente envolvem:
- Decompor, primeiramente, o problema em subproblemas que possuam menor complexidade que o problema original.
- Decompor o problema por pontos de vista diferentes.
Salienta-se que se deve utilizar um método de decomposição que garanta a possibilidade de, a partir dos subproblemas, reconstituir o todo.
Antes de construir um sistema de informações, deve-se elaborar um modelo que seja capaz de expressar com a máxima fidelidade possível o conhecimento que se tem do ambiente onde o sistema será implantado, de modo a satisfazer a todos os requisitos necessários. Se, por um lado, o custo de um sistema é função do desempenho de seus componentes, por outro, o valor deste mesmo sistema é função da utilidade que ele tem para seus usuários. A boa técnica de análise dos sistemas de uma organização preconiza uma boa interação – ou seja, comunicação eficaz entre os usuários e os técnicos de informática.
Utilidade e Benefícios da Modelagem
- Estabelecer uma visão comum entre usuário e analista do ambiente antes da automação.
- Servir como suporte para negociação e especificação de requisitos e possibilidades futuras para o sistema.
- Representar, avaliar e refinar conceitos do projeto.
- Escalonar a informatização em fases, com produtos bem definidos e dependência mínima entre as fases.
- Tratar a complexidade do problema por níveis de abstração, começando pela visão mais abstrata e descendo a visões progressivamente mais detalhadas.
- Promover indicações quantitativas do escopo e da complexidade do problema.
- Prover facilidades para geração de testes de aceitação.
Tipos de Modelos
- Modelo Funcional:
- Apresenta uma visão estruturada das funções ou dos processos que compõem a organização.
- Modelo de Dados:
- Apresenta uma visão dos dados que serão armazenados.
- Modelo de Controle:
- Representa as transformações de controle e uma visão do comportamento da organização em relação aos seus diferentes estados válidos, sendo cada um caracterizado por uma determinada resposta fornecida quando a organização estiver sujeita a um certo conjunto de estímulos.
Princípios Fundamentais da Modelagem
- A escolha dos modelos a serem criados tem profunda influência sobre a maneira como um determinado problema é atacado e como uma solução é definida.
- Cada modelo poderá ser expresso em diferentes níveis de precisão.
- Os melhores modelos estão relacionados à realidade (o segredo é ter certeza de que sua simplicidade não ocultará detalhes importantes).
- Nenhum modelo único é suficiente. Qualquer sistema não trivial será melhor investigado por meio de um pequeno conjunto de modelos quase independentes.
Ciclo de Desenvolvimento de Sistemas (CDS)
- Análise de Sistemas:
- Determina-se quais os requisitos do sistema, ou seja, "o que" o sistema deve fazer, em termos essenciais. Diz respeito à eficácia, sem se preocupar com a performance.
- Projeto de Sistemas:
- Determina-se "como" o sistema funcionará para atender aos requisitos especificados na fase anterior. Objetiva modelar o sistema de modo a implementar a solução idealizada, mas de acordo com os recursos tecnológicos presentes na empresa. Diz respeito à eficiência, preocupando-se com a performance.
- Implementação de Sistemas:
- Efetua-se a construção do sistema de acordo com o modelo de funcionamento especificado na fase anterior. Faz uso dos recursos tecnológicos presentes na empresa para atividades de programação.
Metodologias de Desenvolvimento de Sistemas
É um conjunto de regras e padrões que orientam a abordagem utilizada em todas as tarefas associadas ao ciclo de vida do desenvolvimento de sistemas.
Conceitos Fundamentais
- Método:
- Pode ser entendido como um procedimento a ser adotado para se atingir um objetivo. O método se vale de um conjunto de técnicas.
- Técnica:
- Pode ser entendida como um modo apropriado de se investigar sistematicamente um determinado universo de interesse ou domínio de um problema. Para se expressar uma técnica, faz-se uso de uma notação.
- Notação:
- É um conjunto de caracteres, símbolos e sinais formando um sistema convencionado de representação ou designação.
Relevância da Metodologia
- Propõe a modelagem dos sistemas como a melhor maneira de resolver os problemas pertinentes à atividade de desenvolvimento.
- Deve definir o ciclo de vida do sistema a ser adotado, ou seja, quais as fases de trabalho a serem executadas.
- Deve apresentar definição clara de "quem" faz "o quê", "quando", "como" e "onde", para todos os envolvidos, direta ou indiretamente, com o desenvolvimento de sistemas.
- Deve definir o papel dos técnicos de informática, dos usuários e o da administração da empresa no processo de desenvolvimento.
- Deve instituir um conjunto de padrões preestabelecidos, evitando a subjetividade na abordagem, a fim de garantir a facilidade de integração de sistemas desenvolvidos por grupos de pessoas diferentes em épocas distintas.
Aspectos Inerentes à Metodologia
- As técnicas adotadas é que devem ser estáveis, e não os técnicos. Isso evita que alguns se comportem como verdadeiros "donos" de determinados sistemas, pois só eles passam a conhecê-los bem e só eles são capazes de alterá-los sem riscos, o que é indesejável para a administração da organização.
- Deve definir as fases de trabalho previstas no desenvolvimento de sistemas e, para cada fase, quais as técnicas a serem adotadas.
- Deve definir, para cada técnica adotada, quais as ferramentas utilizadas, sendo que cada ferramenta irá produzir um tipo de modelo.
- Deve estabelecer quais os pontos de controle e padrões de qualidade, além das responsabilidades do pessoal envolvido nos controles e métricas.