Fundamentos de TI, Modelo de Negócio e Engenharia de Software

Classificado em Computação

Escrito em em português com um tamanho de 7,26 KB

Modelo de Negócio e a Tecnologia da Informação: Desafios Comuns

  1. Conflitos internos constantes quanto às atribuições e responsabilidades das operações dos sistemas de informação;
  2. Queixas sobre a performance dos sistemas de informação quanto a custos e benefícios;
  3. Falta de visão em nível de empresa, com ausência de integração funcional, mostrando a incapacidade dos sistemas de coordenar o ciclo de informações de forma integrada;
  4. Diminuição da competitividade da empresa, ficando claro aos seus administradores o fortalecimento dos concorrentes por meio do uso inovador da tecnologia da informação;
  5. Redundância no desenvolvimento de sistemas de informação, não havendo reaproveitamento de informações.

Integração de Sistemas e Usuários

Os seguintes itens são de vital importância para a integração dos sistemas e daqueles que irão utilizá-los:

  1. Fluxo de informação versus Gestão através da informação;
  2. Informação adequada;
  3. Eliminação do papel;
  4. Modelo de negócio utilizando a Internet;
  5. Aumento do domínio da informação pela empresa;
  6. Uso racional de ferramentas de análise de negócio e de inteligência competitiva.

Métodos para Criação de Projetos de Implantação

  1. Modelo de dados baseado em Diagramas de Fluxos de Dados e de Entidade-Relacionamento.
  2. Modelo de negócio utilizando ferramentas de modelagem como Microsoft Project e Visio.
  3. Modelo Lógico-Relacional usando ferramentas CASE e diagramas UML.
  4. Padrões de modelos de desenvolvimento de software usados mundialmente como: RUP, ISO, CMMI e XP.

Paradigmas do Desenvolvimento de Software

  1. Funcional - Trata a computação como uma avaliação de funções matemáticas através de linguagens de programação funcional, como LISP e HASKELL.
  2. Estruturado - Utilizado desde a década de 70, responsável pela popularização do desenvolvimento de softwares para PC e seu uso comercial e pessoal. Linguagens como C, PASCAL, COBOL. Conhecido como: Dividir para Conquistar. Funcionava, mas incorria em sérios problemas: as várias linhas de código do sistema, muitas vezes redundantes, e inúmeras variáveis globais, o que o tornava difícil de manter e de depurar. Os sistemas eram totalmente procedurais.
  3. Orientado a Objetos - Baseado na composição e interação de diversas unidades de software chamadas de objetos. A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. Atualmente é o paradigma mais utilizado e tem como linguagens mais comuns hoje em dia o Delphi, JAVA, Visual Basic, etc.
  4. Orientado a Componentes - Uma série de componentes de software que interagem para formar sistemas de software mais complexos. Trata as funcionalidades do sistema como componentes. Mais tarde, em outra etapa, todos esses componentes são agrupados para formar o sistema. Embora um componente possa ser definido como um conjunto de objetos que tenham finalidades semelhantes dentro do sistema, eles distinguem-se pelo fato de um componente ser completamente estático.
  5. Orientado a Aspectos (POA) - A POA permite aos desenvolvedores de software separar e organizar o código de acordo com a sua importância para a aplicação. Permite que o código do programa seja encapsulado e modularizado. Criado por Gregor Kiczales e a sua equipe na Xerox PARC, a divisão de pesquisa da Xerox. Eles desenvolveram o AspectJ, a primeira e mais popular linguagem POA.

O Que É Engenharia de Software?

Engenharia de software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica, que seja confiável e que trabalhe eficientemente em máquinas reais.

Tipos de Software

  1. Software Básico - Usado para dar apoio a outros softwares, tais como: compiladores, editores, utilitários de gerenciamento de arquivo.
  2. Software em Tempo Real - Monitora, analisa ou controla eventos do mundo real, tais como: controle de tráfego aéreo, monitoramento em UTI, sensores em geral, controle de ferrovias e metrô.
  3. Software Comercial - Também chamados de sistemas, são usados por organizações em geral para exercer funções como: contas a pagar, estoque, folha de pagamento, softwares administrativos, etc.
  4. Software Científico e de Engenharia - Especializado em processamento de números e algoritmos complexos, é usado em áreas como astronomia, geologia, fadiga mecânica, dinâmica de naves espaciais e manufatura automatizada (CAD/CAM).
  5. Software Educativo - Tem por objetivo auxiliar o aprendizado e o ensino a distância. Exemplos: dicionários, tradutores, softwares pedagógicos, leitor de e-books, etc.
  6. Software de Inteligência Artificial - Faz uso de algoritmos não-numéricos para resolver problemas complexos. São também chamados de Sistemas Especialistas. Exemplo: Softwares de Rede Neural, Sintetizador de voz, Inteligência Artificial, Lógica Difusa e Software de Autoaprendizagem.
  7. Software de Gestão Empresarial - São sistemas que integram todas as funções de gerência de uma empresa, também chamados de Sistemas de ERP (Enterprise Resources Planning).

Fases do Ciclo de Vida do Software

  1. Especificação de Software - Define a funcionalidade do software e suas restrições em suas operações.
    Exemplo: Engenharia de requisitos, entrevistas, reuniões, etc.
  2. Desenvolvimento de Software - O software deve ser produzido de modo que atenda às suas especificações.
    Exemplo: Análise essencial, modelos, diagramas, projetos, etc.
  3. Validação de Software - O produto de software deve ser validado para garantir que ele faça o que o cliente deseja.
    Exemplo: Teste de software, protótipos, controle de versão, demo, etc.
  4. Evolução do Software - O software deve evoluir para atender às necessidades mutáveis do cliente e das tecnologias usadas.

Engenharia de Requisitos

  1. Requisitos de Sistema - Documento que detalha as funções e restrições do sistema, servindo como contrato entre o comprador e o desenvolvedor.
  2. Especificação de Projeto - Descrição abstrata do software na forma de diagramas que serve de base para a implementação mais detalhada do produto.
  3. Requisitos Funcionais - Declarações explícitas de como o sistema deve reagir a entradas específicas e quais resultados devem ser esperados.
  4. Requisitos Não-Funcionais - Restrições sobre os serviços ou funções oferecidas pelo sistema.
  5. Requisitos de Domínio - Domínio na qual a aplicação será executada e engloba hardware e infraestrutura física.

Entradas relacionadas: