capítulo 1 introdução - di.ubi.ptsebastiao/ensino/ubi/2017-2018/es/teoricas... · do sistema de...

54
Capítulo 1 Introdução Capítulo 1 Introdução 2017/2018 1

Upload: lequynh

Post on 10-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Capítulo 1 Introdução

Capítulo 1 Introdução2017/2018 1

Assuntos abordados

Desenvolvimento de software profissional

Qual o significado de engenharia de software.

Ética em engenharia de software

Uma breve introdução às questões éticas que afetam a

engenharia de software.

Estudos de caso

Uma introdução a três exemplos.

Capítulo 1 Introdução 22017/2018

Engenharia de software

As economias de TODAS as nações desenvolvidas são

dependentes de software.

Mais e mais sistemas são controlados por software

A engenharia de software preocupa-se com teorias,

métodos e ferramentas para o desenvolvimento de

software profissional.

As despesas de software representam uma fração

significativa do PIB em todos os países desenvolvidos.

Capítulo 1 Introdução 32017/2018

Custos de software

Os custos do software geralmente dominam os custos

do sistema de um computador. Os custos de software

num PC são geralmente maiores do que o custo do

hardware.

O software custa mais para manter do que para

desenvolver. Para sistemas com uma vida longa, os

custos de manutenção podem ser os custos de

desenvolvimento.

A engenharia de software preocupa-se com o

desenvolvimento de software a baixo custo.

Capítulo 1 Introdução 42017/2018

Falhas num projeto de software

O aumento da complexidade do sistema

Como novas técnicas de engenharia de software nos ajudam a

construir sistemas maiores e mais complexos, as exigências

mudam. Sistemas devem ser construídos e entregues mais

rapidamente.

Falha a utilização de métodos de engenharia de

software, ou a sua ausência

É bastante fácil escrever programas de computador sem o uso

de métodos e técnicas de engenharia de software. Muitas

empresas desenvolvem software ao mesmo tempo que os seus

produtos e serviços têm evoluído. Estas empresas não usam

métodos de engenharia de software. Consequentemente, o seu

software é muitas vezes mais caro e menos confiável do que

deveria ser.Capítulo 1 Introdução 52017/2018

Desenvolvimento de software profissional

Capítulo 1 Introdução 62017/2018

Perguntas frequentes sobre engenharia de

software

Questão Responda

O que é um software? Programas de computador e documentação associada.

Produtos de software podem ser desenvolvidos para um

cliente particular ou podem ser desenvolvidos para um

mercado geral.

Quais são os atributos de um bom

software?

Bom software deve fornecer a funcionalidade e

desempenho necessários para o utilizador e deve ser

sustentável, confiável e utilizável.

O que é engenharia de software? Engenharia de software é uma disciplina da engenharia

que se preocupa com todos os aspectos da produção de

software.

Quais são as atividades fundamentais em

engenharia de software?

Especificação do software, Desenvolvimento do

software, Validação do software e Evolução do software.

Qual é a diferença entre engenharia de

software e informática?

A informática concentra-se em teorias e fundamentos;

Engenharia de software está preocupada com a

viabilidade do desenvolvimento e entrega do software.

Capítulo 1 Introdução2017/2018 7

Perguntas frequentes sobre engenharia de

software

Questão Responda

Qual é a diferença entre engenharia de

software e engenharia de sistemas?

Engenharia de sistema preocupa-se com todos os

aspectos do desenvolvimento de sistemas baseados em

computadores, incluindo hardware, software e engenharia

de processos. Engenharia de software é parte deste

processo mais geral.

Quais são os principais desafios

enfrentados pela engenharia de software?

Lidar com a diversidade crescente, prazos de entrega

reduzidos e desenvolvimento de software confiável.

Quais são os custos da engenharia de

software?

Cerca de 60% dos custos de software são os custos de

desenvolvimento, 40% são custos de teste. Para software

personalizado, os custos de evolução geralmente

excedem os custos de desenvolvimento.

Quais são as melhores técnicas e

métodos de engenharia de software?

Todos os projetos de software têm que ser geridos e

desenvolvidos profissionalmente, diferentes técnicas são

apropriadas para diferentes tipos de sistema. Por

exemplo, os jogos devem sempre ser desenvolvidos

usando uma série de protótipos enquanto que os

sistemas críticos de controle de segurança exigem uma

especificação completa e analisável. Assim, não podemos

afirmar que um método é melhor do que outro.

Capítulo 1 Introdução2017/2018 8

Produtos de software

Produtos genéricos

sistemas que são comercializados e vendidos a qualquer cliente

que queira comprá-los stand-alone.

Exemplos - software de PC, como programas gráficos,

ferramentas de gestão de projetos; software CAD; software para

mercados específicos.

Produtos customizados

Software que é encomendado por um cliente específico para

satisfazer as suas próprias necessidades.

Exemplos - sistemas de controle, software de controle de tráfego

aéreo, sistemas de monitoramento de tráfego incorporados.

Capítulo 1 Introdução2017/2018 9

Especificação do produto

Produtos genéricos

A especificação do que o software deve fazer é da propriedade

do programador de software e decisões sobre a mudança de

software são feitos pelo programador.

Produtos customizados

A especificação do que o software deve fazer é propriedade do

cliente e eles tomam decisões sobre mudanças de software que

são necessarias.

Capítulo 1 Introdução 102017/2018

Atributos essenciais de um bom software

Característica do

produto

Descrição

Manutenção Software deve ser desenvolvido de forma que possa evoluir para

atender às necessidades dos clientes. Este é um atributo

fundamental, porque a mudança de software é uma exigência

inevitável num ambiente de negócios em constante mudança.

Confiabilidade e

segurança

Confiabilidade de software inclui uma série de características,

incluindo a segurança. Software confiável não deve causar danos

em caso de falha do sistema. Utilizadores mal-intencionados não

devem ser capazes de aceder ou danificar o sistema.

Eficiência Software não deve desperdiçar os recursos do sistema, como

memória e ciclos de processador. Eficiência inclui, por

conseguinte, a capacidade de resposta, o tempo de

processamento, a utilização da memória, etc.

Aceitabilidade Software deve ser aceitável para o tipo de utilizadores para o qual

foi concebido. Isso significa que ele deve ser compreensível,

usável e compatível com outros sistemas que os utilizadores

usam.

Capítulo 1 Introdução2017/2018 11

Engenharia de software

Engenharia de software é uma disciplina da engenharia

que se preocupa com todos os aspectos da produção de

software desde as primeiras fases de especificação do

sistema até a manutenção do sistema depois de ter

entrado em uso.

Disciplina de engenharia

Usando teorias e métodos adequados para resolver problemas

tendo em conta restrições organizacionais e financeiras.

Todos os aspectos da produção de software

Não apenas o processo técnico do desenvolvimento. Também a

gestão de projetos e desenvolvimento de ferramentas, métodos

etc., para apoiar a produção de software.

Capítulo 1 Introdução2017/2018 12

Importância da engenharia de software

Cada vez mais, os indivíduos e a sociedade dependem

de sistemas de software avançadas. Precisamos ser

capazes de produzir sistemas confiáveis e seguros

economicamente, rapidamente.

É geralmente mais barato, a longo prazo, a utilização de

métodos de engenharia de software e técnicas 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 mudar o software após ele

ter entrado em uso.

Capítulo 1 Introdução2017/2018 13

Atividades no processo de software

Especificação do software, onde os clientes e

engenheiros definem o software que vai ser produzido e

os constrangimentos ao seu funcionamento.

Desenvolvimento de software, onde o software é

concebido e programado.

Validação de software, onde o software é verificado para

garantir que ele é o que o cliente necessita.

Evolução do software, onde o software é modificado

para refletir as mudanças das necessidades dos clientes

e do mercado.

Capítulo 1 Introdução2017/2018 14

Questões gerais que afetam o software

Heterogeneidade

Cada vez mais, os sistemas são necessários para operar como

sistemas distribuídos através de redes que incluem diferentes

tipos de computador e dispositivos móveis.

Mudança económica e social

As empresas e a sociedade estão a mudar incrivelmente rápido.

Eles precisam ser capazes de mudar o seu software existente e

desenvolver rapidamente novos softwares.

Capítulo 1 Introdução2017/2018 15

Questões gerais que afetam o software

Segurança e confiança

Como o software está envolvidos com todos os aspectos das

nossas vidas, é essencial que podermos confiar no software.

Escala

Software tem de ser desenvolvido através de uma gama muito

ampla, desde muito pequenos sistemas embarcados em

dispositivos portáteis ou acedidos através da Internet, como os

sistemas baseados em cloud que servem uma comunidade

global.

Capítulo 1 Introdução2017/2018 16

Diversidade em engenharia de software

Há muitos tipos diferentes de sistema de software e não

existe um conjunto universal de técnicas de software

que é aplicável a todos estes.

Os métodos de engenharia de software e ferramentas

utilizadas dependem do tipo de aplicativo que está a ser

desenvolvido, os requisitos do cliente e a equipa de

desenvolvimento.

Capítulo 1 Introdução 172017/2018

Tipos de aplicativos

Aplicações stand-alone

São sistemas de aplicativos que são executados num

computador local. Eles incluem toda a funcionalidade necessária

e não precisam ser conectado a uma rede.

Aplicativos baseados em transações interativas

Aplicações que são executadas num computador remoto e são

acessados por utilizadores dos seus próprios PCs ou terminais.

Estes incluem aplicações de web.

Sistemas de controle embutidos

Estes são sistemas de controle de software que controlam

dispositivos de hardware. Há provavelmente mais sistemas

embutidos que qualquer outro tipo de sistema.

Capítulo 1 Introdução 182017/2018

tipos de aplicativos

Sistemas de processamento de batch

Estes são sistemas de negócios que são projetados para

processor grande quantidade de dados.

Sistemas de entretenimento

Estes são sistemas que são principalmente para uso pessoal e

que se destinam a entreter o utilizador.

Sistemas de 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 separadas.

Capítulo 1 Introdução 192017/2018

Tipos de aplicativos

Sistemas de recolha de dados

Estes são sistemas que recolhem dados do ambiente usando

um conjunto de sensores e enviam esses dados para outros

sistemas para processamento.

Sistemas de sistemas

Estes são sistemas que são compostos por uma série de outros

sistemas de software.

Capítulo 1 Introdução 202017/2018

Fundamentos de engenharia de software

Alguns princípios fundamentais aplicam-se a todos os

tipos de sistema de software, independentemente das

técnicas de desenvolvimento utilizadas:

Os sistemas devem ser desenvolvidos usando um processo de

desenvolvimento gerido e compreendido. Claro, processos

diferentes são usados para diferentes tipos de software.

Confiabilidade e desempenho são importantes para todos os

tipos de sistema.

Compreender e gerir a especificação de software e requisitos (o

que o software deve fazer) é importante.

Se for o caso, deve-se reutilizar software que já foi

desenvolvido, em vez de escrever um novo software.

Capítulo 1 Introdução 212017/2018

Engenharia de software e a Internet

A Web é agora uma plataforma para executar aplicações

e organizações estão a desenvolver cada vez mais

sistemas baseados na web, em vez de sistemas locais.

Serviços web permitem que a aplicação possa ser

acedida pela Web.

A computação em nuvem é uma abordagem para a

prestação de serviços de informática onde as aplicações

são executadas remotamente na 'nuvem'.

Capítulo 1 Introdução 222017/2018

Engenharia de software baseada na Web

Sistemas baseados na Web são sistemas distribuídos

complexos, mas os princípios fundamentais da

engenharia de software discutidos anteriormente são tão

aplicáveis a eles como são para qualquer outro tipo de

sistema.

As idéias fundamentais da engenharia de software

aplicã-se a software baseado na web da mesma forma

que se aplicam a outros tipos de sistema de software.

Capítulo 1 Introdução 232017/2018

Engenharia de software e a Web

Reuso de software

reutilização de software é a abordagem dominante para a

construção de sistemas baseados na web. Ao construir esses

sistemas, pense sobre como você montá-los a partir de

componentes e sistemas de software pré-existentes.

Desenvolvimento incremental e ágil

sistemas baseados na web devem ser desenvolvidos e entregues

de forma incremental. Agora é geralmente reconhecido que é

impraticável especificar todos os requisitos para tais sistemas com

antecedência.

Capítulo 1 Introdução 242017/2018

Engenharia de software e a Web

Sistemas orientados a serviços

Programas podem ser implementado usando engenharia de

software orientada a serviços, onde os componentes de

software são os serviços da Web independente.

Capítulo 1 Introdução 252017/2018

Ética em engenharia de software

Capítulo 1 Introdução 262017/2018

Ética em engenharia de software

Engenharia de software envolve responsabilidades mais

amplas do que a simples aplicação de habilidades

técnicas.

Os engenheiros de software devem comportar-se de

uma maneira honesta e eticamente responsável se eles

querem 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 corretos.

Capítulo 1 Introdução 272017/2018

Questões de responsabilidade profissional

Confidencialidade

Engenheiros devem normalmente respeitar a confidencialidadedos seus empregadores ou clients, independente de ter ou nãoum acordo formal de confidencialidade assinado.

Competência

Engenheiros não devem falsear os seus níveis de competência.Eles não devem aceitar trabalhos que estejam fora da suacompetência.

Capítulo 1 Introdução 282017/2018

Questões de responsabilidade profissional

Direito de propriedade intelectual

Os engenheiros devem estar cientes das leis locais que regulam

o uso da propriedade intelectual, como patentes, direitos de

autor, etc. Eles devem ter o cuidado de assegurar que a

propriedade intelectual de empregadores e clientes está

protegida.

Uso indevido

Engenheiros de software não devem usar as suas habilidades

técnicas para prejudicar outras pessoas.

Capítulo 1 Introdução 292017/2018

ACM / IEEE Código de Ética

As sociedades profissionais têm cooperado paraproduzir um código de conduta ética.

Os membros dessas organizações assinam o código deética quando eles entram.

O Código contém oito princípios relacionados aocomportamento e decisões feitas por engenheiros desoftware profissionais, incluindo médicos, educadores,gerentes, supervisores e os decisores políticos, bemcomo estagiários e estudantes da profissão.

Capítulo 1 Introdução 302017/2018

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 através do ensino, com a

análise, especificação, projeto, desenvolvimento, certificação,

manutenção e testes de sistemas de software.

Por causa do seu papel no desenvolvimento de sistemas de

software, engenheiros de software têm significativa oportunidades

de fazer o bem ou causar danos, para permitir que os outros a

fazer o bem ou causar danos, ou para influenciar outros a fazer o

bem ou causar danos. Para garantir, tanto quanto possível, que os

seus esforços serão utilizados para o bem, engenheiros de

software devem se comprometer a fazer da engenharia de software

uma profissão benéfica e respeitada.

Capítulo 1 Introdução 312017/2018

O Código de Ética da ACM / IEEE

Código de Ética de Engenharia de Software e Prática Profissional

PREÂMBULO

Engenheiros de software devem-se comprometer a fazer a análise, especificação,

desenvolvimento, teste e manutenção de software uma profissão benéfica e respeitada. De

acordo com seu compromisso com a saúde, a segurança e o bem-estar do público, os

engenheiros de software devem aderir aos Oito Princípios seguintes:

Capítulo 1 Introdução 322017/2018

Princípios éticos

1. PÚBLICO - Engenheiros de software devem agir de forma coerente com o interesse

público.

2. CLIENTE E EMPREGADOR - Engenheiros de software devem agir de acordo com o

melhor interesse dos seus clientes e empregadores, consistente com o interesse público.

3. PRODUTO - Os engenheiros de software devem assegurar que os seus produtos e

modificações relacionadas, atendam aos mais altos padrões profissionais possíveis.

4. JULGAMENTO - Os engenheiros de software devem manter a integridade e

independência no 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 e manutenção de software.

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 - Os engenheiros de software devem ser justos e apoiar os 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 à prática da

profissão.

Capítulo 1 Introdução 332017/2018

Dilemas éticos

Desacordo com as políticas dos empregadores.

Empregador age de uma forma anti-ética e lança 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.

Capítulo 1 Introdução 352017/2018

Estudos de caso

Capítulo 1 Introdução30/10/2014 34

Estudos de caso

Bomba de insulina pessoal

Um sistema incorporado numa bomba de insulina utilizada por

diabéticos para manter o controlo de glucose no sangue.

Um sistema de gestão para pacientes com problemas

de saúde mental

Mentcare. Um sistema usado para manter registros de pessoas

que recebem cuidados para problemas de saúde mental.

Uma estação de metereologia numa região selvagem

Um sistema de recolha de dados sobre as condições do tempo

em áreas remotas.

iLearn: Um ambiente digital de aprendizagem

Um sistema de apoio à aprendizagem nas escolasCapítulo 1 Introdução 362017/2018

Sistema de controle de bomba de insulina

Recolhe dados de um sensor de açúcar no sangue e

calcula a quantidade de insulina necessária a ser

injectada.

Cálculo baseado na taxa de variação de níveis de

açúcar no sangue.

Envia sinais a uma micro-bomba para administrar a

dose correcta de insulina.

Sistema critic, baixo nivel de açúcar no sangue pode

conduzir a mau funcionamento do cérebro, coma e

morte; altos níveis de açúcar no sangue têm

consequências a longo prazo, tais como danos aos

olhos e rins.Capítulo 1 Introdução 372017/2018

Arquitetura de hardware da bomba de insulina

Capítulo 1 Introdução 382017/2018

Modelo de atividade da bomba de insulina

Capítulo 1 Introdução 392017/2018

Requisitos de alto nível essenciais

O sistema deve estar disponível para fornecer insulina,

quando necessário.

O sistema deve realizar com fiabilidade e proporcionar a

quantidade correcta de insulina para neutralizar o nível

actual de açúcar no sangue.

O sistema deve ser concebido e implementado para

garantir que o sistema sempre atende a esses

requisitos.

Capítulo 1 Introdução 402017/2018

Mentcare: Um sistema de informação 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 receberam.

A maioria dos pacientes de saúde mental, não

necessitam de tratamento hospitalar dedicado, mas

precisam ir a clínicas especializadas regularmente, onde

podem encontrar um médico que tenha conhecimento

dos seus problemas.

Capítulo 1 Introdução 412017/2018

Mentcare

Mentcare é um sistema de informação que é destinado a

clínicas.

Ele faz uso de uma base de dados centralizada de

informações do paciente, mas também foi concebido

para ser executado num PC, de modo que possa ser

acedido e usado a partir de sitios 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 da base de

dados, também podem baixar e usar cópias locais de

registros dos pacientes quando eles estão

desconectados.Capítulo 1 Introdução 422017/2018

Objetivos Mentcare

Gerar informação de gestão que permite aos gerentes

de serviços de saúde avaliar o desempenho.

Fornecer ao pessoal medico informações oportunas

para apoiar o tratamento dos pacientes.

Capítulo 1 Introdução 432017/2018

A organização do sistema Mentcare

Capítulo 1 Introdução 442017/2018

As principais características do sistema de

Mentcare

gestão de atendimento individual

Os médicos podem criar registos dos pacientes, editar as informações no

sistema, ver o histórico dos pacientes, etc. O sistema suporta resumos de

dados para que os médicos possam aprender rapidamente sobre os

principais problemas e tratamentos que foram prescritos.

monitoramento de pacientes

O sistema monitoriza os registos dos pacientes que estão envolvidos no

tratamento e emite avisos se forem detectados possíveis problemas.

relatórios administrativos

O sistema gera relatórios mensais que mostram o número de pacientes

tratados em cada clínica, o número de pacientes que entravam e saíam

do sistema de assistência, número de pacientes seccionados, os

medicamentos prescritos e os seus custos, etc.

Capítulo 1 Introdução 452017/2018

Preocupações do sistema Mentcare

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 os próprios pacientes.

Segurança

Algumas doenças mentais podem levar o paciente a se tornar

suicida ou um perigo para outras pessoas. Sempre que

possível, o sistema deve alertar profissionais de saúde sobre

pacientes potencialmente suicidas ou perigosos.

O sistema deve estar disponível quando necessário.

Capítulo 1 Introdução 462017/2018

Estação meteorológica

O governo de um país com grandes áreas de região selvage decide

implantar várias centenas de estações meteorológicas em áreas

remotas.

Estações meteorológicas recolhem dados de um conjunto de

instrumentos que medem a temperatura e pressão, luz do sol,

chuva, velocidade do vento e direção do vento.

A estação de tempo inclui um número de instrumentos que medem os

parâmetros de tempo, tais como a velocidade e direcção do vento, as

temperaturas do solo e do ar, a pressão barométrica e a 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 gere os dados recolhidos a partir dos instrumentos.

Capítulo 1 Introdução 472017/2018

O ambiente da estação meteorológica

Capítulo 1 Introdução 482017/2018

Sistema de informação meteorológica

O sistema estação meteorológica

Este é responsável pela recolha de dados meteorológicos, fazer um

processamento de dados inicial e transmiti-lo para o sistema de

gestão de dados.

Gestão dados e sistema de arquivamento

Este sistema recolhe os dados de todas as estações

meteorológicas da região selvagem, realiza o processamento e

análise de dados e guarda os dados.

O sistema de manutenção da estação

Este sistema pode comunicar por satélite com todas as estações

para monitorar a saúde desses sistemas e fornecer relatórios de

problemas.

Capítulo 1 Introdução 492017/2018

iLearn: Um ambiente digital de aprendizagem

Um ambiente de aprendizagem digital é um quadro em

que um conjunto de ferramentas especialmente

desenvolvidas para a aprendizagem pode ser

incorporado mais um conjunto de aplicações que são

voltadas para as necessidades dos alunos que utilizam

o sistema.

As ferramentas incluídas em cada versão do ambiente

são escolhidos por professores e alunos para atender às

suas necessidades específicas.

Capítulo 1 Introdução 512017/2018

Sistemas orientados a serviços

O sistema é um sistema orientado a serviço com todos

os componentes do sistema considerados um serviço

substituível.

Isso permite que o Sistema possa ser atualizado de

forma incremental à medida que novos serviços se

tornam disponíveis.

Ele também torna possível configurar rapidamente o

sistema para criar versões do ambiente para diferentes

grupos, como crianças muito jovens que não sabem ler,

estudantes seniores, etc.

Capítulo 1 Introdução 522017/2018

eu aprendo arquitetura

Capítulo 1 Introdução 542017/2018

Pontos chave

Engenharia de software é uma disciplina da engenharia

que se preocupa com todos os aspectos da produção de

software.

Essenciais atributos do produto de software são a

manutenção, confiabilidade e segurança, eficiência e

aceitabilidade.

As atividades de alto nível: especificação,

desenvolvimento, validação e evolução são 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.Capítulo 1 Introdução 562017/2018

Pontos chave

Há muitos tipos diferentes de sistema e cada um requer

ferramentas de engenharia de software e técnicas

apropriadas para o seu desenvolvimento.

As idéias fundamentais de engenharia de software são

aplicáveis a todos os tipos de sistema de software.

Engenheiros de software têm responsabilidades para

com a profissão de engenharia e a sociedade. Eles não

devem se preocupar com questões técnicas.

Sociedades profissionais publicam códigos de conduta

que estabelecem os padrões de comportamento.

Capítulo 1 Introdução 572017/2018