Os negócios que envolvem manufatura e distribuição (logística) são praticamente 100% automatizados
Sem um sistema, a empresa consegue atender suas demandas?
Sistema financeiro é totalmente dependente da tecnologia
Porque gera insatisfação poucos segundos de atraso numa transação bancária?
Área de saúde deveria ter 100% de integração (Paciente, Hospital, Médico, Plano de Saúde, Laboratórios, etc)
Ver países com excelência no sistema de saúde.
10 Áreas da Engenharia de Software
Conforme o SWEBOK. Jorge H. C. Fernandes. 2004
01. Requisitos de software
Aquisição
Análise
Especificação
Gestão de requisitos de software
02. Design de software
Transformação de requisitos (de software), coletados no domínio do problema, em uma descrição explicando como solucionar os aspectos do problema relacionados com software
Modelagem
Diagramação
Projeto
Protótipo
03. Construção de Software
Construção de programas funcionais e coerentes através da codificação
Programação
Auto-validação
Teste unitário
04. Teste de Software
Verificação dinâmica do comportamento do programa através do uso de um conjunto finito de casos de teste
Aplicação de técnicas para avaliar se o programa é eficiente
05. Manutenção de Software
Atividades de suporte a um sistema, que pode ocorrer antes e após a entrega do software
Após a entrega do software são feitas modificações com o objetivo de corrigir falhas, melhorar seu desempenho ou adapta-lo a um ambiente modificado.
06. Gerência de Configuração de Software
Características documentadas do hardware e software que fazem parte do sistema
Controlam sistematicamente suas mudanças e manter sua integridade e rastreabilidade durante o ciclo de vida do sistema
07. Gerência de Engenharia de Software
Gerencia projetos de desenvolvimento de software
08. Processo de Engenharia de Software
Define
Implementa
Mede
Gerencia
Modifica
Aperfeiçoa o processo de desenvolvimento de software
09. Ferramentas e Métodos
Ferramentas que automatizam os processos
Métodos que procuram levar mais qualidade ao software
10. Qualidade de Software
Conjunto de atividades que tentam garantir de qualidade de software
Verificação dos requsitos
Validação.
Questões
Kelly
01. Em qual das condições para ser considerado um bom software se enquadra a seguinte situação?
O Facebook teve seus dados invadidos, copiados e enviados para vários destinos.
Muito calor, os discos ficaram sobreaquecidos mas ainda assim o sistema continuou funcionando normalmente.
Software que faz a programação de velocidade da escada rolante acelerou subitamente.
Desenvolvedor mudou de empresa e quem assumiu não conseguiu entender a documentação para dar sequência ao trabalho.
Incëndio na matriz que mantém os servidores provocaram parada generalizada nos sistema de usuários no mundo todo.
Funcionário alterou seu salário e no final do mês recebeu além do que deveria.
Saldo ficou gravado de forma incorreta porque a energia apagou na hora da atualização.
Atendente foi registrar paciente mas sistema não funcionou porque link estava fora do ar.
Sistema que controle o enchimento das garrafas de refrigerante colocou quantidade de líquido abaixo do exigido.
Na situação número 2, pois o software estava preparado para situações críticas, de extremos, no caso o sobreaquecimento do sistema. Entretanto, ele continuou funcionando normalmente e é isso que se deseja de um bom software: segurança, confiabilidade, recuperabilidade, proteção.
02. Qual o meio-termo entre Software de Prateleira e Software-Taylor-made?
A empresa pode optar por desenvolver uma solução internamente, isto é, fabricar seu próprio software. Possui algumas vantagens para a empresa, pois ela não fica dependente de uma única fornecedora e pode manter em sigilo seus segredos industriais. Entretanto esta opção pode ser um pouco cara e pode não ser uma solução satisfatória a longo prazo.
03. Qual a diferença entre software livre e software open-source?
As diferenças entre Free Software (Livre) e Open Source (Código Aberto) são mais filosóficas do que técnicas.
O termo Software Livre foi proposto pela primeira vez em 1984 por Richard Stallman, um hacker e grande desenvolvedor de softwares, cujos discursos eram bastante filosóficos e radicais. Ele fundou a Free Software Foundation (FSF) cujo principal objetivo era construir um sistema operacional totalmente livre, que tivesse seu código fonte aberto para leitura, modificação e redistribuição sem restrições, isto é, ele almejava acabar com o software proprietário.
O movimento Software Livre é definido por oferecer 4 liberdades básicas:
A liberdade de executar o programa, para qualquer finalidade.
A liberdade de estudar como o programa funciona, e adaptá-lo às suas necessidades.
A liberdade de redistribuir cópias de maneira a poder ajudar outras pessoas.
A liberdade de melhorar o programa, e lançar os seus melhoramentos publicamente, de maneira a que toda a comunidade beneficie.
Em 1998 surge a Iniciativa Open Source (OSI) sendo Eric Raymond um dos principais fundadores. Com um discurso mais comercial e evitando questões éticas a OSI atraiu várias empresas desenvolvedoras de softwares e cresceu mais do que a FSF. Ela acredita que o software livre pode coexistir com o software proprietário enquanto o Movimento Software Livre não.
Resumindo os dois movimentos pregam métodos de desenvolvimento semelhantes que tem muitas coisas em comum, mas basicamente a diferença é que Open Source simplesmente quer dizer que o código fonte do programa está aberto para consulta, e dependendo da vontade do criador para distribuição e redistribuição sob determinadas características. Já o Software Livre implica a não propriedade do software.