O documento discute os diferentes tipos de software, incluindo software de sistemas, aplicativos, científicos, embutidos, de produto e inteligência artificial. Também descreve sistemas de processamento de transações e suas características como resposta rápida, confiabilidade, inflexibilidade e processamento controlado.
O documento discute os diferentes tipos de software, incluindo software de sistemas, aplicativos, científicos, embutidos, de produto e inteligência artificial. Também descreve sistemas de processamento de transações e suas características como resposta rápida, confiabilidade, inflexibilidade e processamento controlado.
O documento discute os diferentes tipos de software, incluindo software de sistemas, aplicativos, científicos, embutidos, de produto e inteligência artificial. Também descreve sistemas de processamento de transações e suas características como resposta rápida, confiabilidade, inflexibilidade e processamento controlado.
O documento discute os diferentes tipos de software, incluindo software de sistemas, aplicativos, científicos, embutidos, de produto e inteligência artificial. Também descreve sistemas de processamento de transações e suas características como resposta rápida, confiabilidade, inflexibilidade e processamento controlado.
Baixe no formato PPTX, PDF, TXT ou leia online no Scribd
Fazer download em pptx, pdf ou txt
Você está na página 1de 45
Engenharia de Software I
A Natureza Mutável do Software
Hoje em dia sete amplas categorias de softwares
de computadores apresentam desafios contínuos para os engenheiros de software.
A partir dessas verificamos o porquê de dizer a
natureza mutável do software. Engenharia de Software I
1) Software de Sistemas: Software de sistema é
uma coleção de programas escritos para servir a outros programas. A área de software de sistemas é caracterizada por interação intensa com o hardware, uso intenso de usuários, possui estrutura de dados complexas ( Exemplos: SO, Sistemas de rede) Engenharia de Software I
2) Software de Aplicação: O software de
aplicação consiste em programas isolados que resolvem uma necessidade específica do negócio da empresa (Exemplo: Software de sistema de tempo real, de pontos de vendas). Engenharia de Software I
3) Softwares Científicos ou de Engenharia:
Antigamente esses eram caracterizados por algoritmos que processavam grandes quantidades de números. Hoje em dia essas aplicações estão mais próximas de software de sistemas. Exemplo (software de controle de riscos – Astronômicos, Vulcanológicos, da NASA). Engenharia de Software I
4) Softwares Embutidos: O software embutido
reside dentro de um produto ou sistema e é usado para implementar e controlar características e funções para o usuário final e para o próprio sistema. Os softwares embutidos podem realizar tarefas muito limitadas e também tarefas da mais alta capacidade de um software (controles remotos). Engenharia de Software I
5) Software para linha de produto: Projetado
para fornecer uma capacidade específica a ser usada por muitos clientes diferentes, esse software pode focar para um mercado limitado e especial ou dirigir-se ao mercado de consumo em massa (pacote Office, Windows) Engenharia de Software I
6) Aplicações da WEB: Dos mais variados tipos.
7) Software para inteligência artificial: O
softwares de IA faz uso de algoritmos não numéricos para resolver problemas complexos que não são passíveis de computação e analise direta. Engenharia de Software I
Mas por que natureza mutável do software?
De acordo com autores consagrados da disciplina, o software
é um produto diferenciado dos demais de manufatura, possuindo características que lhe dão natureza própria e específica. Conhecer essas características é o primeiro passo para compreender os problemas enfrentados por todos os envolvidos no processo de software. Engenharia de Software I
Existem diferenças importantes entre produtos de software
e produtos manufaturados:
Complexidade: normalmente um produto de software tem
muitas regras a serem cumpridas; muitas linhas de código a serem implementadas; e diversos desenvolvedores, que têm ideias diferentes e, algumas vezes, divergentes, mas que podem levar à mesma solução. Engenharia de Software I
Invisibilidade e intangibilidade: o software é
invisível para o usuário ou cliente. O que se vê são as consequências da execução, diferentemente de um produto manufaturado oriundo de outras engenharias, como um prédio (da engenharia civil) ou um carro (da engenharia mecânica ou da automotiva). Engenharia de Software I
Conformidade e modificabilidade: o software é a
interface entre diversas entidades do meio no qual é utilizado.
Produção sob medida (taylormade): para software,
não existe produção em série, cada usuário é um cliente que usa o software à sua maneira, com ênfase em partes diferentes. Engenharia de Software I
Não tem prazo de validade: o software não é
sensível a problemas ambientais, nem sofre nenhum tipo de defeito em razão do uso cumulativo (aumento de usuários e execução em máquinas diferentes). Engenharia de Software I
Ilusão de maleabilidade (fácil de mudar): o
software possui uma ilusão de maleabilidade extremamente elevada, em razão da sua natureza abstrata ou não física. As pessoas o notam como algo de fácil adaptação. Engenharia de Software I
TIPOS DE APLICAÇÕES DE SOFTWARE
Classificações de aplicações de software
Para atender às necessidades das organizações e da própria
sociedade, foram surgindo, ao longo do tempo, diversos tipos de aplicações de software ou sistemas de informação que abrangem praticamente todas as atividades comerciais, industriais e pessoais da sociedade atual. Engenharia de Software I
•Sistemas de Processamento de Transações (SPT) ou
Transaction Processing System (TPS)
Constituem um tipo de sistema de informação
ou aplicação de software transacional. Coletam, guardam, modificam e recuperam as transações (operações das áreas de negócio) de uma organização. Engenharia de Software I Uma transação é um acordo, uma comunicação, um movimento ou algo realizado entre entidades diferentes ou objetos, muitas vezes, envolvendo a troca de itens de valor, tais como informações, bens, serviços e dinheiro. Além disso, caso a troca seja de mercadorias, de um lado, por dinheiro, do outro, será conhecida como transação de duas partes: uma parte está dando o dinheiro, e a outra parte está recebendo a mercadoria. Engenharia de Software I São exemplos de transações: financeira, imobiliária, custo de transação, de banco de dados, processamento de transações etc. Engenharia de Software I Para ser considerado um SPT ou TPS, um sistema de informação deve passar pelo teste de Atomicidade, Consistência, Isolamento e Durabilidade (ACID). Em ciência da computação, ACID é um conjunto de propriedades que garante que as operações de bancos de dados sejam processadas de forma confiável. No contexto de bancos de dados, uma única operação lógica sobre os dados é chamada de transação. Engenharia de Software I A essência de um programa transacional é que ele gerencia os dados que devem ser deixados em um estado consistente. Um exemplo: se um pagamento eletrônico for feito em um sistema bancário, o montante deverá ser retirado de uma conta e adicionado a outra. Se o sistema ou a aplicação não puder completar apenas um desses passos, deixará a transação bancária inconsistente. Engenharia de Software I Sistemas desse tipo são integrados e atendem ao nível operacional, bem como computadorizados, realizando transações rotineiras, como folha de pagamento, pedidos etc. Engenharia de Software I Os recursos são predefinidos e estruturados, e por meio deles os gerentes monitoram operações internas e externas da empresa. Dessa forma, são críticos, pois, se deixarem de funcionar, poderão causar danos à própria empresa e a outras. Atendem a quatro categorias funcionais: vendas/marketing, fabricação/produção, finanças/contabilidade e recursos humanos. Engenharia de Software I Sistemas ou aplicações TPS apresentam as características descritas a seguir. Resposta rápida (rapid response): alto desempenho com tempo de resposta rápido é uma característica essencial. As empresas não podem ter clientes à espera de um TPS para responder às suas transações. O tempo de resposta a partir da entrada da transação, para processá-la e gerar a saída, deve ser de alguns segundos ou menos. Engenharia de Software I Confiablidade (reliability): muitas organizações dependem fortemente de seus sistemas TPS – um colapso irá interromper as operações ou mesmo parar o negócio. Para um TPS ser considerado eficaz, sua taxa de falha deve ser muito baixa. Se um TPS falhar, então a recuperação rápida e precisa deverá ser permitida. Isso é feito com procedimentos de backup e recuperação do essencial. Engenharia de Software I Inflexibilidade (inflexibility): para um sistema TPS, cada transação deve ser processada da mesma maneira, independentemente do usuário, do cliente ou da hora do dia. Se um TPS for flexível, haverá muitas oportunidades para a execução de operações não padrão. Por exemplo, uma linha aérea comercial precisa, constantemente, aceitar reservas de passagens aéreas a partir de uma variedade de agentes de viagens; aceitar dados diferentes de operações distintas de agentes seria um problema. Engenharia de Software I Processamento controlado (controlled processing): o processamento de um TPS deve dar suporte às operações de uma organização. Por exemplo, caso uma organização atribua funções e responsabilidades aos funcionários em particular, o TPS deve aplicar e manter essa exigência (segurança). Engenharia de Software I Armazenamento e recuperação de informações nos TPS: armazenar e recuperar informações em um TPS deve ser eficiente e eficaz. Os dados são armazenados em bases de dados, e o sistema deve ser projetado corretamente, com procedimentos de backup e recuperação. O armazenamento e a recuperação dos dados devem ser precisos, uma vez que estes são usados muitas vezes ao longo do dia. Engenharia de Software I Um banco de dados é uma coleção de dados bem- organizados, que armazena os registros contábeis e operacionais na base de dados; é sempre o protetor de dados delicados das organizações, permitindo, geralmente, uma visão restrita quanto aos seus acessos; é projetado dentro de determinadas estruturas de BDs existentes comercialmente: estrutura hierárquica, estrutura em rede, estrutura relacional e estrutura orientada a objetos. Engenharia de Software I Como as organizações empresariais têm-se tornado muito dependentes dos aplicativos ou sistemas do tipo TPS, um colapso nesses sistemas pode parar rotinas regulares do negócio e, assim, interromper o seu funcionamento por um determinado período de tempo. A fim de evitar perda de dados e minimizar as interrupções quando um TPS falha, um bom backup e procedimentos de recuperação são colocados em uso. O processo de recuperação pode reconstruir o sistema ou a aplicação quando ocorre uma falha. Engenharia de Software I •Sistemas de Informações de Gestão (SIG) ou Management Information Systems (MIS)
São sistemas ou aplicativos que fornecem as
informações necessárias para gerenciar efetivamente as organizações. Esses sistemas envolvem três recursos primários: tecnologia, informações e pessoas. Engenharia de Software I É importante reconhecer que, embora todos os três recursos sejam componentes-chave, quando se estudam SIGs ou MIS, o recurso mais importante são as pessoas envolvidas. SIGs englobam o estudo dos sistemas de informação nas empresas e na administração; dão suporte ao nível gerencial por meio de relatórios, processos correntes e históricos por meio de acessos on-line orientados a eventos internos, apoiando o planejamento, o controle e a decisão; e dependem dos aplicativos TPS para aquisição de dados, resumindo e apresentando operações e dados básicos periodicamente. Engenharia de Software I Os SIGs são distintos dos TPS, já que estes são usados para analisar outros sistemas de informação aplicados às atividades operacionais da organização. Academicamente, o termo é usado com frequência para referir-se ao grupo de métodos de gestão de informação ligado à automação ou ao apoio à tomada de decisão humana, por exemplo, Sistemas de Apoio à Decisão (SADs), ou sistemas especialistas. Engenharia de Software I A sigla SIG (ou MIS) surgiu para descrever esses tipos de aplicação de software, que foram desenvolvidos para fornecer, aos gestores, informações sobre vendas, estoques e outros dados que ajudam na gestão da empresa. Engenharia de Software I A sigla SIG, hoje, é utilizada amplamente em uma série de contextos e inclui, entre outros:
•Sistemas de Apoio a Decisão (SADs);
•Recursos e aplicações de gestão de pessoas; •Sistemas Integrados de Gestão Empresarial (ERP – Enterprise Resource Planning); •Gestão do Desempenho Empresarial (EPM – Enterprise Performance Management); Engenharia de Software I
•Gerenciamento da Cadeia de Suprimentos
(SCM – Supply Chain Management); •Gestão do Relacionamento com o Clientes (CRM – Customer Relationship Management); •Gestão de projetos e aplicações de recuperação de banco de dados. Engenharia de Software I
Os SIGs ou MIS são sistemas
planejados de coleta, processamento, armazenamento e divulgação de dados na forma de informações necessárias para apoiar as pessoas a desempenharem as funções de gestão. Engenharia de Software I
A sigla MIS e a expressão sistema de
informação, muitas vezes, são confundidos. Sistemas de informação incluem aqueles que não se destinam à tomada de decisão. A área de estudo chamada MIS refere-se, em sentido restrito, à gestão de tecnologia da informação. Engenharia de Software I
Essa área de estudo não deve ser
confundida com ciência da computação. Gestão de serviços é uma disciplina profissional focada; MIS tem, também, algumas diferenças em relação a ERP, que incorpora elementos não necessariamente focados na decisão. Engenharia de Software I Um sistema MIS de sucesso deve dar suporte a um plano de negócios de cinco anos ou equivalente. Deve fornecer relatórios baseados em análise de desempenho em áreas críticas desse plano, com feedback constante, que permita o controle de cada aspecto do negócio, incluindo o recrutamento e os regimes de treinamento. Com efeito, o MIS deve não apenas indicar como está o andamento do negócio, mas também por que este não vai tão bem como planejado, quando for o caso. Engenharia de Software I Alguns benefícios que podem ser apresentados para diferentes tipos de sistemas de gestão da informação:
- a empresa é capaz de destacar suas forças e
fraquezas, em razão da presença de relatórios de receita, registros de desempenho do empregado etc.;
- a identificação desses aspectos pode ajudar a
empresa a melhorar seus processos de negócios e operações; Engenharia de Software I
- a disponibilidade dos dados do cliente e o feedback
podem ajudar a empresa a alinhar seus processos de negócio com as necessidades dos clientes;
- a gestão eficaz de dados de clientes pode ajudar a
empresa a realizar atividades de marketing direto e a fazer promoções diferenciadas; Engenharia de Software I
- a informação é considerada um ativo importante para
qualquer empresa no mundo moderno competitivo;
- as tendências de compra do consumidor e os
comportamentos deste podem ser previstos pela análise dos relatórios de vendas e das receitas de cada região de operação da empresa. Engenharia de Software I
Exemplo de sistemas SIG ou MIS:
ERP – Enterprise Resource Planning ou Sistemas
Integrados de Gestão Empresarial: planejamento de recursos empresariais que fornece uma interface de usuário para toda a organização, a fim de gerenciar processos de negócios. Isso pode incluir gerenciamento de projetos, contabilidade, pessoal, produção e distribuição. Engenharia de Software I
SCM – Supply Chain Management ou Gerenciamento
da Cadeia de Suprimentos: sistemas que permitem uma gestão mais eficiente da cadeia de abastecimento, integrando os elos de uma cadeia de suprimentos. Isso pode incluir fornecedores, fabricantes, atacadistas, varejistas e consumidores finais. Engenharia de Software I
CRM – Customer Relationship Management ou Gestão
do Relacionamento com Clientes: sistemas de apoio às empresas na gerência e nos relacionamentos com clientes potenciais e atuais, e com parceiros de negócios em marketing, vendas e serviços. Engenharia de Software I
KMS – Knowledge Management Systems ou Sistemas
de Gestão de Conhecimento: ajudam as organizações a facilitarem a recolha, o registro, a organização, a recuperação e a disseminação do conhecimento. Isso pode incluir documentos, registros contábeis, dados sem registro e procedimentos, práticas e habilidades.