Ética em Computação Selma Shin Shimizu Melnikoff Escola Politécnica da USP Setembro de 2004.
-
Upload
renata-sousa-monteiro -
Category
Documents
-
view
220 -
download
0
Transcript of Ética em Computação Selma Shin Shimizu Melnikoff Escola Politécnica da USP Setembro de 2004.
Ética em ComputaçãoSelma Shin Shimizu MelnikoffEscola Politécnica da USPSetembro de 2004
Situação AtualSistemas de computação cada vez mais presentes na sociedadeNecessidade de postura ética em relação à computação: Profissionais de computação Usuários e Clientes Ser Humano
ÉticaÉtica aplicada: relacionada com a conduta diária de uma pessoaÉtica Profissional: relacionada com a conduta de pessoa engajada na prática de uma profissão particularÉtica em computação: abrange os dois aspectos Profissional em computação Usuário da computação
Principais Pontos de Discussão
Desenvolvimento de sistemasAutomação de decisõesViolação da informaçãoInternetSistemas críticos
Desenvolvimento de Sistemas
Responsabilidade perante cliente Garantir produto adequado ao clienteParticipação do cliente Definir produto adequado para o seu usoProdutos com qualidade Realizar avaliação durante o
desenvolvimentoRedução de riscos no desenvolvimento Proporcionar condições para sucesso do
desenvolvimento
Automação de DecisõesNível de automação de um sistema Garantir melhor distribuição das
tarefas entre o usuário e o computador
Informação para apoio à decisão Garantir conteúdo correto para
tomada de decisão pelo usuário
Violação da informaçãoAcesso aos dados armazenados Garantir e respeitar os níveis de
confidencialidade dos dadosViolação da comunicação Garantir e respeitar a segurança da
comunicaçãoDanos ao sistema computacional (vírus) Garantir a proteção contra ações de virus Não danificar o sistema computacional
InternetConteúdos de sites Garantir a veracidade e qualidade da
informaçãoComércio eletrônico Garantir a integridade das transações Garantir a existência de regras
definidas
Sistemas CríticosSistemas críticos Sistemas cujas falhas podem causar morte,
grande prejuízo e graves danos ao ambiente Sistemas de controle de aeronave,
equipamentos médicos, controle de plantas químicas
Necessitam de técnicas de desenvolvimento e de avaliação que garantam que o produto é seguro
Disciplinas de Suporte
Automação
Engenharia de Requisitos
Engenharia de Software
Qualidade de Software
Necessidade leva a
Para ter um bom sistema
Software é parte significativa
Para ter bom produto
Automação
Automação
Engenharia de Requisitos
Engenharia de Software
Qualidade de Software
Necessidade leva a
Para ter um bom sistema
Software é parte significativa
Para ter bom produto
Motivação para AutomaçãoAumento da concorrência com a globalizaçãoEscassez de energiaEncarecimento das matérias primasPressões sociais: proteção ambiental e condições de trabalhoDesenvolvimento da tecnologia
Benefícios da AutomaçãoQualidade assegurada dentro de limites estabelecidosRedução de custos através de: Racionalização de trabalho Eficiência no processo Uniformidade da qualidade dos
produtos e serviços Redução de tempo na manutenção
Benefícios da AutomaçãoFlexibilidade para adaptação a novos produtos ou serviçosMelhor conhecimento do processo, através da coleta dos dados e dos estadosMelhor conhecimento do equipamentos do processo para a obtenção de melhor desempenho
Exemplo
Movimentaçãode trem
Sistema de Supervisão e Controle
Controlador da Sala de Controle
Grau de AutomaçãoEstá relacionado com a transferência de responsabilidade do homem para o Sistema de Automação. Transferência obrigatória: segurança ou
precisão exigidas são incompatíveis com a habilidade humana. Desligamento da caldeira em emergência
Transferência planejada: as tarefas podem ser realizadas pelo homem, mas o Sistema de Automação aumenta a produtividade. Operação da caldeira
Engenharia de Requisitos
Automação
Engenharia de Requisitos
Engenharia de Software
Qualidade de Software
Necessidade leva a
Para ter um bom sistema
Software é parte significativa
Para ter bom produto
O que são requisitos?Serviços e funções fornecidos pelo sistemaRestrições para a operação do sistemaCaracterísticas do sistema Desempenho Facilidade de uso por leigos, etc.
Interface com outros sistemasInformações sobre o domínio de aplicaçãoRestrições sobre o desenvolvimento plataforma computacional parte legal, etc.
Problemas Comuns
Falta de participação dos envolvidos no desenvolvimento do sistema.Necessidades do negócio não são consideradas.Falta de gerência na alteração de requisitos.Falta de responsabilidades definidas.
Conseqüências
Sistema não reflete as necessidades reais dos clientes.Sistema é inconsistente ou incompleto.Ocorre entendimento errôneo entre cliente, gerente de projeto e engenheiro de software.É dispendioso mudar os requisitos após um acordo.
Mais ConseqüênciasO sistema pode ser liberado após o prazo previsto, com custo maior.O cliente e os usuários não ficam satisfeitos com o sistema.Os usuários não usam todos os recursos do sistema.
E mais ainda...O sistema pode ser descartado, após uso parcial.O sistema não é confiável, apresentando falhas ou interrupções na operação.Os custos de manutenção são altos.
Etc.
Engenharia de RequisitosFazer o levantamento eficiente dos requisitosObter a concordância das pessoas envolvidasResolver conflitosGerenciar as alterações de requisitos
Engenharia de Software
Automação
Engenharia de Requisitos
Engenharia de Software
Qualidade de Software
Necessidade leva a
Para ter um bom sistema
Software é parte significativa
Para ter bom produto
Software - DefiniçãoSoftware é:1. Conjunto de instruções (programas de
computador) que, quando executado, realizam as funções desejadas, com o desempenho desejado;
2. Conjunto de dados que permitem aos programas manipularem adequadamente a informação;
3. Documentos que descrevem a operação e o uso dos programas.
Características de SoftwareSoftware não é um produto concreto.Software é desenvolvido; não é manufaturado.Software não desgasta.Software ainda não resulta da montagem das partes, apesar de esforços para componentização.
Problemas com Software
Por que os programas não ficam prontos rapidamente?Por que os custos de desenvolvimento são tão altos?Por que os erros não são detectados antes da entrega aos clientes?Por que é difícil medir o progresso durante o desenvolvimento?
Desenvolvimento de Software
É necessário que seja sistemático.É necessário ter produtos intermediários, além do código.É realizada através de fases definidas Análise Projeto Implementação Teste
Engenharia de Software A aplicação de uma abordagem
sistemática, disciplinada e quantificável ao desenvolvimento,
operação e manutenção do software
IEEE 610.12
Fases de DesenvolvimentoENGENHARIA DE SISTEMAS
PROJETO
ANÁLISE
IMPLEMEN-TAÇÃO
MANUTENÇÃO
TESTE
Para cada faseInformações de entradaProdutos geradosAtividadesResponsáveis
Qualidade de Software
Automação
Engenharia de Requisitos
Engenharia de Software
Qualidade de Software
Necessidade leva a
Para ter um bom sistema
Software é parte significativa
Para ter bom produto
Abordagens para QualidadeQualidade na obtenção de software Desenvolvimento Projeto contratado Aquisição IntegraçãoQualidade na utilização Utilização do sistema Atividades de suporte
Qualidade no Desenvolvimento
definição do processo de desenvolvimentodefinição do processo de verificação e validaçãoseleção e aplicação de métodos de análise, projeto e codificaçãosistematização de testes (planos, procedimentos e documentos de testes)
Qualidade no Desenvolvimentoutilização de ferramentas adequadasacompanhamento da aplicação de normas pertinentesgerência de requisitos especificação de requisitos controle de alteraçãogerência da configuração
Qualidade no Projeto Contratado
definição do processo de contrataçãodefinição do processo de acompanhamento de projetodefinição da avaliação do andamento e dos produtosdefinição do processo de aceitaçãodefinição do processo de manutenção
Qualidade na Aquisição
definição do processo de aquisiçãodefinição do processo de seleção do fornecedordefinição do processo de avaliação dos produtosexistência do apoio do fornecedor: treinamento manuais conhecimento
Qualidade na Integração
definição do processo de integração: especificação dos sistemas e
componentes a serem integrados estratégia de integração fases e produtos da integração responsabilidades
Qualidade na Utilizaçãodefinição do processo de utilizaçãodefinição dos procedimentos de utilizaçãotreinamento dos usuáriosdefinição dos responsáveis pelo sistemamanutenção dos equipamentosfornecimentos de dados corretos em tempos corretos
Qualidade nas Atividades de Suporte
identificação dos processos de suportedefinição dos processos e papéistreinamento da equipe
Resumindo:A ÉTICA ESTÁ EM TODAS AS ATIVIDADES.
Código de ÉticaSoftware Engineering Code of Ethics and Professional PracticeIEEE-CS/ACM Joint Task Force on Software Engineering Ethics and Professional Practices (versão 5.2)http://www.computer.org/tab/seprof/code.htm (acessado em 3/5/2004)
BibliografiaEthics and Computing: Living Responsibly in a Computerized World Ed. Kevin W. Bowyer, IEEE Press, 2000, 2nd EditionÉtica em Computação, Paulo César Masiero, Editora da USP, 2000