Buscar

Capítulo 1 Introdução

Prévia do material em texto

Engenharia de Requisitos
Introdução
Parte 1
Prof. Ricardo Guzzon Domingues
Os tópicos abordados
•Desenvolvimento profissional de software
•Qual o significado de engenharia de software.
•Software de engenharia ética
•Uma breve introdução às questões éticas que 
afetam a engenharia de software.
•Os estudos de caso
•Uma introdução aos três exemplos que são 
utilizados em capítulos posteriores do livro.
Introdução 2
Engenharia de software
•As economias de todas as nações desenvolvidas são 
dependente de software.
•Mais e mais sistemas são controlados por software
•A engenharia de software se preocupa com teorias, 
métodos e ferramentas para desenvolvimento de 
software profissional.
•Despesas de software representa um 
fração significativa do PIB em todos os países 
desenvolvidos.
Custos de software
•Os custos do software geralmente dominam os 
custos do sistema de computador. Os custos de 
software em um PC são muitas vezes maior que o 
custo do hardware.
•Software custa mais para manter do que para se 
desenvolver. Para sistemas com uma longa vida, os 
custos de manutenção podem ser os custos de 
desenvolvimento.
•A engenharia de software se preocupa com o 
desenvolvimento de software de baixo custo.
Os produtos de software
•Produtos genéricos:
•Sistemas autônomos que são comercializados e vendidos 
a qualquer cliente que queira comprá-los.
•Exemplos - software de PC, como programas gráficos, 
ferramentas de gestão de projetos, software de CAD, 
software para mercados específicos, tais como sistemas 
de nomeações para dentistas.
•Os produtos personalizados:
•Software que é contratado por um cliente específico para 
atender às suas próprias necessidades. 
•Exemplos - Sistemas de controle embarcado, software de 
controle de tráfego aéreo, sistemas de monitoramento de 
tráfego.
Introdução 5
Especificação do produto
•Produtos genéricos:
•A especificação de que o programa deve fazer é 
de propriedade do desenvolvedor de software e 
as decisões sobre a mudança de software são 
feitos pelo desenvolvedor.
•Os produtos personalizados:
•A especificação de que o programa deve fazer é 
de propriedade do cliente para o software e 
tomam decisões sobre as mudanças de software 
que são necessários.
Introdução 6
Perguntas mais frequentes sobre engenharia de 
software
Introdução 7
Pergunta Responder
O que é software? Os programas de computador e documentação associada. 
Produtos de software podem ser desenvolvidos para um cliente 
específico ou podem ser desenvolvidos para um mercado geral.
Quais são os atributos de um bom 
software?
Um bom software deve fornecer a funcionalidade eo 
desempenho necessário para o usuário e deve ser sustentável, 
confiável e utilizável.
O que é engenharia de software? A engenharia de software é uma disciplina da engenharia que 
se preocupa com todos os aspectos da produção de software.
Quais são as atividades de 
engenharia de software 
fundamentais?
Especificação de software, desenvolvimento de software, 
validação e evolução de software software.
Qual é a diferença entre engenharia 
de software e ciência da 
computação?
Ciência da computação concentra-se em teorias e 
fundamentos, engenharia de software se preocupa com os 
aspectos práticos do desenvolvimento e entrega de software 
útil.
Qual é a diferença entre engenharia 
de software e engenharia de 
sistemas?
Engenharia de sistemas preocupa-se com todos os aspectos 
do desenvolvimento de sistemas baseados em computadores, 
incluindo hardware, software e engenharia de processos. A 
engenharia de software é parte desse processo mais geral.
Perguntas mais frequentes sobre engenharia 
de software
Pergunta Responder
Quais são os principais desafios 
enfrentados pela engenharia de 
software?
Lidar com a diversidade crescente, as exigências para os 
tempos de entrega reduzidos e desenvolvimento de software 
confiável.
Quais são os custos da engenharia 
de software?
Cerca de 60% dos custos são os custos de desenvolvimento de 
software, 40% são custos de testes. Para software sob 
encomenda, os custos de evolução muitas vezes excedem os 
custos de desenvolvimento.
Quais são as melhores técnicas de 
engenharia de software e métodos?
Enquanto todos os projectos de software tem de ser gerida 
profissionalmente e desenvolvido, diferentes técnicas são 
adequadas para os diferentes tipos de sistemas. Por exemplo, 
os jogos devem sempre ser desenvolvido utilizando uma série 
de protótipos, visto que os sistemas de controlo críticos de 
segurança exigem uma especificação completa e analisável a 
ser desenvolvido. Você não pode, portanto, dizer que um 
método é melhor que outro.
Que diferenças tem a web feito para 
engenharia de software?
A web tem levado à disponibilidade de serviços de software ea 
possibilidade de desenvolver altamente distribuída sistemas 
baseados em serviço. Desenvolvimento de sistemas web-based 
tem levado a avanços importantes nas linguagens de 
programação e reutilização de software.
Introdução 8
Atributos essenciais de um bom software
Introdução 9
Característica de 
produto
Descrição
Manutenibilidade Software deve ser escrito de tal forma para que ele possa evoluir 
para atender às novas necessidades dos clientes. Este é um 
atributo importante porque a mudança de software é uma 
exigência inevitável de um ambiente de negócios em constante 
mudança.
Confiabilidade e 
segurança
Confiabilidade de software inclui uma série de características, 
incluindo a confiabilidade, segurança e segurança. Software 
confiável não deve causar danos físicos ou econômicos em caso 
de falha do sistema. Usuários mal-intencionados não deve ser 
capaz de acessar ou danificar o sistema.
Eficiência O software não deve desperdiçar os recursos do sistema, como 
memória e ciclos do processador. Portanto, a eficiência inclui a 
capacidade de resposta, tempo de processamento, utilização de 
memória, etc
Aceitabilidade Software deve ser aceitável para o tipo de usuários para o qual foi 
projetado. Isso significa que ele deve ser compreensível, usável e 
compatível com outros sistemas que eles usam. 
Engenharia de software
•A engenharia de software é uma disciplina da engenharia que 
se preocupa com todos os aspectos da produção de software 
desde os primeiros estágios de especificação do sistema até a 
manutenção do sistema depois de ter ido para o uso.
•Disciplina de engenharia:
•Usando teorias e métodos adequados para resolver os 
problemas, tendo em restrições organizacionais e 
financeiras da mente.
•Todos os aspectos da produção de software:
•Não apenas o processo técnico de desenvolvimento. 
Também gerenciamento de projetos e desenvolvimento de 
ferramentas, métodos etc., para apoiar a produção de 
software.
Introdução 10
Importância da engenharia de software
•Cada vez mais, os indivíduos ea sociedade dependem 
de sistemas de software avançadas. Precisamos ser 
capazes de produzir sistemas confiáveis ​​e seguras 
economicamente e rapidamente.
•Ele é geralmente mais barato, a longo prazo, a 
utilização de métodos e técnicas de engenharia de 
software para sistemas de software, em vez de apenas 
escrever os programas como se fosse um projeto de 
programação pessoal. Para a maioria dos tipos de 
sistema, a maioria dos custos são os custos de alteração 
do software, depois de ter passado em uso.
Introdução 11
Atividades do processo de software
•Especificação de software, onde os clientes e 
engenheiros definir o software que é para ser 
produzido e as limitações ao seu funcionamento.
•Software desenvolvimento, onde o software é 
projetado e programado.
•Software validação, onde o software é verificado 
para garantir que ele é o que o cliente necessita.
•Software evolução, onde o softwareé modificado 
para refletir novas exigências do mercado e dos 
clientes.
Introdução 12
Questões gerais que afetam a maioria dos 
softwares
•Heterogeneidade:
•Cada vez mais, Os sistemas são necessários para operar como 
sistemas distribuídos em redes que incluem diferentes tipos de 
computadores e dispositivos móveis. 
•Empresas e mudança social: 
•Negócios e a sociedade estão mudando com uma rapidez 
incrível como as economias emergentes e desenvolver novas 
tecnologias se tornam disponíveis. Eles precisam ser capazes de 
mudar o seu software existente e desenvolver rapidamente 
novos softwares. 
•Segurança e confiança:
•Como software está entrelaçada com todos os aspectos de 
nossas vidas, é essencial que podemos confiar que software. 
Introdução 13
Software de engenharia diversidade
•Existem muitos tipos diferentes de sistemas de 
software, e não há um conjunto universal de 
técnicas de software, que é aplicável a todas estas.
•Os métodos de engenharia de software e 
ferramentas utilizadas dependem do tipo de 
aplicativo que está sendo desenvolvido, os 
requisitos do cliente eo plano de fundo da equipe 
de desenvolvimento.
Introdução 14
Tipos de aplicativos
•Aplicações stand-alone:
•Estes são sistemas aplicativos que são executados em um 
computador local, como um PC. Elas incluem toda a 
funcionalidade necessária e não precisa de ser ligado a uma rede. 
•Aplicativos interativos baseados em transações:
•Aplicações que executar em um computador remoto e são 
acessados ​​por usuários de seus próprios computadores ou 
terminais. Estes incluem aplicações web, tais como e-Commerce 
aplicações. 
•Sistemas de controle embutidos:
•Estes são os sistemas de controle de software que controlam e 
gerenciar dispositivos de hardware. Numericamente, há 
provavelmente mais sistemas embarcados que qualquer outro 
tipo de sistema. 
Introdução 15
Tipos de aplicativos
•Sistemas de processamento em lote:
•Estes são os sistemas de negócios que são projetados 
para processar dados em grandes lotes. Eles processar um 
grande número de entradas individuais para criar saídas 
correspondentes. 
•Sistemas de entretenimento:
•Estes são sistemas que são principalmente para uso 
pessoal e que se destinam a entreter o usuário. 
•Sistemas para modelagem e simulação:
•Estes são sistemas que são desenvolvidos por cientistas e 
engenheiros para modelar processos ou situações físicas, 
que incluem muitos, objetos, interagindo separados. 
Introdução 16
Tipos de aplicativos
•Sistemas de coleta de dados:
•Estes são sistemas que recolhem os dados de seu 
ambiente, utilizando um conjunto de sensores e 
enviar os dados para outros sistemas de 
processamento. 
•Sistemas de sistemas:
•Estes são os sistemas que são compostas de um 
número de outros sistemas de software. 
Introdução 17
Fundamentos de engenharia de software
•Alguns princípios fundamentais aplicam-se a todos os tipos de 
sistemas de software, independentemente das técnicas de 
desenvolvimento utilizadas:
•Os sistemas devem ser desenvolvido usando um processo de 
desenvolvimento de gestão e compreendido. De claro, 
diferentes processos são usados ​​para diferentes tipos de 
software.
•Confiança e desempenho são importantes para todos os tipos 
de sistema. 
•Entendimento e gestão da especificação do software e os 
requisitos (o que o software deve fazer) são importantes. 
•Sempre que necessário, Você deve reutilizar software que já foi 
desenvolvido, em vez de escrever um novo software.
Introdução 18
Engenharia de software e web
•A Web é hoje uma plataforma para a execução da 
aplicação e as organizações estão cada vez mais o 
desenvolvimento de sistemas baseados em web, em 
vez de sistemas locais.
•Serviços da Web permitem a funcionalidade do 
aplicativo para ser acessado pela web.
•A computação em nuvem é uma abordagem para a 
prestação de serviços de informática, onde os 
aplicativos são executados remotamente na 'nuvem'. 
•Os usuários não comprar comprar software pagar de 
acordo com o uso.
Introdução 19
Engenharia de software Web
•Software reutilizar é o abordagem dominante para a construção de 
sistemas baseados em web. 
•Quando construção destes sistemas, você pense em como você pode 
montá-los a partir de componentes de software e sistemas 
pré-existentes.
•Sistemas baseados na Web deve ser desenvolvido e entregue de forma 
incremental.
•Ele É agora geralmente reconhecido que é impraticável para 
especificar todos os requisitos para tais sistemas de antecedência. 
•Usuário interfaces são limitados pelas capacidades de navegadores 
web. 
•Tecnologias como como AJAX permitir rico interfaces de ser criado 
dentro de um web navegador, mas são ainda difícil de usar. 
Formulários da Web com scripting local são mais comumente 
usados. 
Introdução 20
Engenharia de software baseado na Web
•Sistemas baseados na Web são sistemas 
distribuídos complexos, mas os princípios 
fundamentais da engenharia de software discutido 
anteriormente são tão aplicáveis ​​a eles como eles 
estão para quaisquer outros tipos de sistema.
•As ideias fundamentais da engenharia de software, 
aplicam-se ao software baseado na Web, da mesma 
forma que se aplica a outros tipos de sistemas de 
software. 
Introdução 21
Pontos-chave
•A engenharia de software é uma disciplina da 
engenharia que se preocupa com todos os aspectos da 
produção de software.
•Essencial atributos do produto de software são de 
manutenção, confiabilidade e segurança, eficiência e 
aceitabilidade.
•O atividades de alto nível de especificação, 
desenvolvimento, validação e evolução fazem parte de 
todos os processos de software.
•As noções fundamentais de engenharia de software são 
universalmente aplicáveis ​​a todos os tipos de 
desenvolvimento do sistema. 
Introdução 22
Pontos-chave
•Existem muitos tipos diferentes de cada sistema e 
requer ferramentas de engenharia de software e 
técnicas apropriadas para o seu desenvolvimento.
•As ideias fundamentais da engenharia de software 
são aplicáveis ​​a todos os tipos de sistema de 
software. 
Introdução 23
Introdução
Parte 2
Prof. Ricardo Guzzon Domingues
Software de engenharia ética
•Engenharia de software envolve responsabilidades 
mais amplas do que simplesmente a aplicação de 
habilidades técnicas.
•Os engenheiros de software devem se comportar 
de uma maneira honesta e eticamente responsável 
se eles devem ser respeitados como profissionais.
•O comportamento ético é mais do que 
simplesmente defender a lei, mas envolve seguir 
um conjunto de princípios que são moralmente 
correto.
Questões de responsabilidade profissional
•Confidencialidade:
•Os engenheiros devem normalmente respeitar a 
confidencialidade dos seus empregadores ou 
clientes, independentemente de haver ou não um 
acordo formal de confidencialidade foi assinado.
•Competência:
•Engenheiros não devem deturpar o seu nível de 
competência. Eles não devem conscientemente 
aceitar o trabalho que é aparte sua competência.
Questões de responsabilidade profissional
•Direitos de propriedade intelectual:
•Engenheiros devem estar cientes das leis locais que regulam 
o uso da propriedade intelectual, como patentes, direitos 
autorais, etc Eles devem ter cuidado para assegurar que a 
propriedade intelectual dos empregadores e clientes está 
protegida.
•Mau uso do computador:
•Os engenheiros de software não devem usar suas 
habilidades técnicas ao mau uso de computadores de outras 
pessoas. Gamas de mau uso do computador a partir de 
relativamente trivial (que joga o jogo na máquina de um 
empregador, por exemplo) a gravíssima (disseminação de 
vírus). 
ACM / IEEE Código de Ética
•As sociedades profissionais em os EUA têm 
cooperado para produzirum código de conduta 
ética.
•Os membros dessas organizações assinam o código 
de prática quando eles se juntam.
•O Código contém oito princípios relacionados com o 
comportamento e decisões feitas por engenheiros 
de software, incluindo médicos, educadores, 
gerentes, supervisores e decisores políticos, bem 
como estagiários e estudantes da profissão. 
Justificativa para o código de ética
•Os computadores têm um papel central e crescente no 
comércio, indústria, governo, medicina, educação, 
entretenimento e sociedade em geral. Os engenheiros de 
software são aqueles que contribuem por participação direta 
ou por ensino, para a análise, especificação, projeto, 
desenvolvimento, certificação, manutenção e testes de 
sistemas de software. 
•Porque de seus papéis no desenvolvimento de sistemas de 
software, engenheiros de software têm significativa 
oportunidades para fazer mal o bem ou causa, para permitir 
que outros a fazer o bem ou causar danos, ou de influenciar os 
outros para fazer mal o bem ou causa. Para garantir, tanto 
quanto possível, que os seus esforços serão usadas para o 
bem, os engenheiros de software devem se comprometer a 
fazer a engenharia de software uma profissão benéfica e 
respeitada. 
Introdução 29
O Código de Ética da ACM / IEEE 
Introdução 30
Engenharia de Software Código de Ética e Prática Profissional
ACM / IEEE-CS Joint Task Force on Software Engineering Ética e Profissional 
Práticas
 
PREÂMBULO
A versão curta do código resume as aspirações em um alto nível de abstração, as 
cláusulas que estão incluídas na versão completa dão exemplos e detalhes de 
como essas aspirações mudar a nossa forma de atuar como profissionais de 
engenharia de software. Sem as aspirações, os detalhes podem se tornar 
legalistas e tedioso, sem os detalhes, as aspirações podem se tornar sonoridade, 
mas vazio, juntos, as aspirações e os detalhes formam um coeso código.
Software Os engenheiros devem se comprometer a fazer a análise, especificação, 
projeto, desenvolvimento, teste e manutenção de software uma profissão 
benéfica e respeitada. De acordo com o seu compromisso com a saúde, a 
segurança eo bem-estar do público, os engenheiros de software devem aderir aos 
oito seguintes princípios:
Princípios éticos
Introdução 31
 1. PÚBLICO - Engenheiros de software devem agir de forma consistente com o 
interesse público.
2. CLIENTE E EMPREGADOR - Os engenheiros de software devem agir de uma maneira 
que é no melhor interesse de seu cliente e empregador consistente com o interesse 
público.
3. PRODUTO - Os engenheiros de software devem assegurar que seus produtos e 
modificações relacionadas atendam aos mais altos padrões profissionais possíveis.
4. ACÓRDÃO - Engenheiros de software devem manter integridade e independência 
em seu julgamento profissional.
5. GESTÃO - gerentes de engenharia de software e líderes devem subscrever e 
promover uma abordagem ética para a gestão do desenvolvimento de software e 
manutenção.
6. PROFISSÃO - Os engenheiros de software devem promover a integridade e 
reputação da profissão consistente com o interesse público.
7. COLEGAS - engenheiros de software devem ser justos e apoio de seus colegas.
8. Auto - Engenheiros de software devem participar na aprendizagem ao longo da vida 
em relação à prática de sua profissão e devem promover uma abordagem ética para o 
exercício da profissão.
Dilemas éticos
•Discordância, em princípio, com as políticas da 
gerência sênior.
•Seu empregador age de forma antiética e libera um 
sistema de segurança crítica sem terminar os testes 
do sistema.
•Participação no desenvolvimento de sistemas de 
armas militares ou sistemas nucleares.
Os estudos de caso
•Uma bomba de insulina pessoal:
•Um sistema embarcado em uma bomba de insulina 
usado por diabéticos para manter o controle de glicose 
no sangue.
•Um caso de sistema de gerenciamento de pacientes de 
saúde mental:
•Um sistema utilizado para manter registros de pessoas 
que recebem cuidados para problemas de saúde 
mental.
•A estação meteorológica deserto:
•Um sistema de coleta de dados que coleta dados sobre 
as condições meteorológicas em áreas remotas.
Introdução 33
Sistema de controle de bomba de insulina
•Reúne dados de um sensor de açúcar no sangue e 
calcula a quantidade de insulina necessária para ser 
injectado.
•Calculado com base na taxa de variação dos níveis de 
açúcar no sangue.
•Envia sinais para um micro-bomba para administrar a 
dose correcta de insulina.
•Sistema de segurança crítica como baixo açúcar no 
sangue pode levar ao mau funcionamento do cérebro, 
coma e morte, os níveis de açúcar alto no sangue ter 
consequências a longo prazo, tais como olhos e danos 
nos rins.
Introdução 34
Arquitetura de hardware bomba de insulina
Introdução 35
Modelo de atividade da bomba de insulina
Introdução 36
Requisitos de alto nível essenciais
•O sistema deve estar disponível para fornecer 
insulina, quando necessário. 
•O sistema deve executar de forma confiável e 
entregar a quantidade correta de insulina para 
neutralizar o atual nível de açúcar no sangue.
•O sistema deve ser concebido e implementado para 
assegurar que o sistema sempre satisfaz estes 
requisitos. 
Introdução 37
Um sistema de informações do paciente para 
os cuidados de saúde mental
•Um sistema de informações do paciente para apoiar os cuidados 
de saúde mental é um sistema de informação médica que 
mantém informações sobre pacientes que sofrem de problemas 
de saúde mental e os tratamentos que eles têm recebido.
•A maioria pacientes de saúde mental não requerem tratamento 
hospitalar dedicada, mas precisa atender clínicas especializadas 
regularmente, onde podem encontrar um médico que tenha 
conhecimento detalhado dos seus problemas. 
•A tornar mais fácil para os pacientes a participar, essas clínicas 
não sejam executados apenas em hospitais. Eles também podem 
ser realizadas em consultórios médicos locais ou centros 
comunitários. 
Introdução 38
MHC-PMS
•O MHC-PMS (Health Management System Care-Paciente 
Mental) é um sistema de informação que se destina para 
uso em clínicas. 
•Ele faz uso de um banco de dados centralizado de 
informações do paciente, mas também foi projetado para 
ser executado em um PC, de modo que possa ser acessado e 
usado a partir de sites que não têm conectividade de rede 
segura. 
•Quando os sistemas locais têm acesso seguro à rede, eles 
usam as informações do paciente no banco de dados, mas 
eles podem baixar e usar cópias locais de registros de 
pacientes quando eles estão desconectados. 
Introdução 39
Objetivos MHC-PMS
•Para gerar informação de gestão que permite que 
os gerentes de serviços de saúde para avaliar o 
desempenho em relação às metas locais e governo.
•A fornecer pessoal médico com informações 
oportunas para apoiar o tratamento dos pacientes.
Introdução 40
A organização do MHC-PMS 
Introdução 41
Principais características MHC-PMS
• Gestão de atendimento individual:
•Os médicos pode criar registros de pacientes, edite as informações no 
sistema, ver o histórico do paciente, etc O sistema suporta resumos de 
dados de modo que os médicos lata aprender rapidamente sobre os 
principais problemas e tratamentos que tenham sido receitados.
• Paciente monitoramento:
•O sistema monitores os prontuários de pacientes que estão envolvidos 
no tratamento e questões alertas se forem detectados possíveis 
problemas. 
• Administrativo relatando:
•O sistema gera relatórios gerenciais mensais mostrando o número de 
pacientes tratados em cada clínica, o número de pacientes que 
entraram e deixaram o sistema de assistência, número de pacientes 
seccionados, os medicamentos prescritos e os seus custos, etc..
Introdução 42
MHC-PMS preocupações•Privacidade:
•É essencial que as informações do paciente sejam confidenciais 
e não sejam divulgadas a ninguém além da equipe médica 
autorizada e que o paciente desejar. 
•Segurança:
•Algumas doenças mentais levam o paciente a se tornar suicida 
ou um perigo para outras pessoas. Sempre que possível, o 
sistema deve avisar a equipe médica sobre os pacientes 
potencialmente suicidas ou perigosos. 
•O sistema deve estar disponível quando necessário caso 
contrário a segurança pode ser comprometida e que pode ser 
impossível prescrever a medicação correta ao paciente. 
Introdução 43
Estação meteorológica Selvagem
•O governo de um país com grandes áreas de deserto decide 
implantar várias centenas de estações meteorológicas em áreas 
remotas. 
•Estações meteorológicas coletar dados a partir de um conjunto de 
instrumentos que a temperatura ea pressão medida, sol, chuva, 
velocidade do vento e direção do vento.
•A estação meteorológica inclui uma série de instrumentos que 
medem parâmetros meteorológicos, como a velocidade e 
direção do vento, a terra e as temperaturas do ar, a pressão 
atmosférica ea precipitação ao longo de um período de 24 
horas. Cada um destes instrumentos é controlado por um 
sistema de software que faz leituras de parâmetros 
periodicamente e gerencia os dados coletados a partir dos 
instrumentos. 
Introdução 44
O ambiente da estação meteorológica 
Introdução 45
Sistema de informações sobre o tempo
•O sistema de estação meteorológica:
•Este é responsável pela coleta de dados meteorológicos, 
processar alguns dados iniciais e transmiti-lo para o sistema 
de gerenciamento de dados.
•O gestão de dados e sistema de arquivamento:
•Este sistema coleta os dados de todas as estações 
meteorológicas da região selvagem, realiza o processamento 
e análise de dados e arquivos da dados.
•O sistema de manutenção da estação:
•Este sistema pode se comunicar por satélite com todas as 
estações meteorológicas deserto para monitorar a saúde 
destes sistemas e fornecer relatórios de problemas. 
Introdução 46
Funcionalidade de software adicional
•Monitorar o instrumentos, energia e comunicação de 
hardware e relatar falhas no sistema de gestão.
•Gerenciar o alimentação do sistema, garantindo que as 
baterias são carregadas sempre que as condições 
ambientais permitirem, mas também que os geradores 
são desligados em condições meteorológicas 
potencialmente prejudiciais, tais como vento forte.
•Suporte Dinâmico reconfiguração onde partes do 
software serão substituídas por novas versões e em que 
os instrumentos de backup são comutados para o 
sistema em caso de falha do sistema.
Introdução 47
Pontos-chave
•Software engenheiros têm responsabilidades para com a 
profissão de engenharia ea sociedade. Eles não devem ser 
simplesmente preocupado com questões técnicas.
•Sociedades profissionais publicam códigos de conduta que 
estabelecem os padrões de comportamento esperados de 
seus membros.
•Três estudos de caso são usados ​​no livro:
•Um sistema de controlo da bomba de insulina 
incorporada;
•Um sistema de gerenciamento de pacientes cuidados de 
saúde mental;
•A estação meteorológica deserto;

Continue navegando