Você está na página 1de 7

Objectivos

Introduo Engenharia de Software

Introduzir o conceito de engenharia de software e explicar a sua importncia Dar respostas a questes chave em engenharia de software Introduzir questes ticas e profissionais e explicar porque elas so motivo de preocupao para engenheiros de software

Dra Otlia F. da Graa

Slide 1

Dra Otlia F. da Graa

Slide 2

Tpicos cobertos

Engenharia de Software

Questes sobre engenharia de software Responsabilidade profissional e tica

Hoje as economias de TODOS os pases desenvolvidos esto dependentes de software Cada vez mais sistemas so controlados por software Engenharia de Software diz respeito a teorias, mtodos e ferramentas para desenvolvimento profissional de software Despesas de engenharia de software representam uma fraco significativa do PIB em todos os pases desenvolvidos

Dra Otlia F. da Graa

Slide 3

Dra Otlia F. da Graa

Slide 4

Custos de Software

Questes sobre engenharia de software


Custos de Software sempre dominam custos do sistema. Os custos de software so muitas vezes maiores que custos de hardware Software custa mais para manter do que para se desenvolver. Para sistemas com uma longa vida, custos de manuteno podem ser vrias vezes os custos de desenvolvimento Engenharia de Software est relacionada com desenvolvimento de software rentvel

O que software? O que engenharia de software? Qual a diferena entre engenharia de software e cincias de computao? Qual a diferena entre engenharia de software e engenharia de sistemas? O que um processo de software? O que um modelo de processo de software?

Dra Otlia F. da Graa

Slide 5

Dra Otlia F. da Graa

Slide 6

Questes sobre engenharia de software


O que Software?

Quais so os custos de engenharia de software? Quais so os mtodos de engenharia de software? O que CASE (Computer-Aided Software Engineering) Quais os atributos de um bom software? Quais so as mudanas chave na engenharia de software?

Programas de computador e documentao associada Produtos de Software podem ser desenvolvidos para um determinado cliente ou podem ser desenvolvidos para o mercado no geral Produtos de Software podem ser
Genricos desenvolvidos para serem vendidos para um grupo de diferentes clientes Feitos por encomenda desenvolvidos para um nico cliente de acordo com as suas especificaes

Dra Otlia F. da Graa

Slide 7

Dra Otlia F. da Graa

Slide 8

O que Engenharia de Software?

Qual a diferena entre Engenharia de Software e Cincia de Computao?

Engenharia de Software uma disciplina da engenharia que se preocupa com todos os aspectos da produo de software Engenheiros de Software devem adoptar uma abordagem sistemtica e organizada para o seu trabalho e utilizar ferramentas e tcnicas adequadas dependendo do problema a ser resolvido, dos condicionalismos em matria de desenvolvimento e dos recursos disponveis

Cincia da Computao est preocupada com a teoria e os princpios bsicos; engenharia de software se preocupa com os aspectos prticos do desenvolvimento e em entregar software til Teorias da Cincia da Computao so insuficientes para actuar como uma base completa para a engenharia de software

Dra Otlia F. da Graa

Slide 9

Dra Otlia F. da Graa

Slide 10

Qual a diferena entre Engenharia de Software e Engenharia de Sistemas?

O que um Processo de Software?

Engenharia de Sistemas se preocupa com todos os aspectos do desenvolvimento de sistemas baseados em computador incluindo hardware, software e engenharia de processo. Engenharia de Software parte integrante deste processo Engenheiros de Sistemas esto envolvidos na especificao do sistema, projecto de arquitectura, integrao e implantao

Um conjunto de actividades cujo fim o desenvolvimento ou evoluo do software Actividades genricas em todos os processos de software so:
Especificao O que o sistema deve fazer e as restries de desenvolvimento Desenvolvimento produo do sistema de software Validao - verificao de que o software o que o cliente quer Evoluo - mudana do software como resposta s novas exigncias

Dra Otlia F. da Graa

Slide 11

Dra Otlia F. da Graa

Slide 12

O que um modelo de processo de software?

Quais so os custos de engenharia de software?

Um representao simplificada de um processo de software, apresentada a partir de uma determinada perspectiva Exemplos de perspectivas de processo so
Workflow - sequncia de actividades Data-flow - fluxo de informao Papel/aco quem faz o qu Waterfall Desenvolvimento evolutionrio Transformao formal Integrao a partir de componentes reusveis

Modelos de processo genricos


Cerca de 60% dos custos so os custos de desenvolvimento, 40% so custos de testes. Para software sob encomenda, os custos de evoluo muitas vezes excedem os custos de desenvolvimento Os custos variam dependendo do tipo de sistema que est sendo desenvolvido e dos requisitos do sistema, tais como atributos de desempenho e fiabilidade do sistema Distribuio dos custos depende do modelo de desenvolvimento que usado
Dra Otlia F. da Graa Slide 14

Dra Otlia F. da Graa

Slide 13

Quais so os mtodos de engenharia de software?

O que CASE (Computer-Aided Software Engineering)

Abordagens estruturadas para desenvolvimento de software que incluem modelos de sistema, notaes, regras, conselhos de desenho e directrizes do processo Descries do modelo
Descries de modelos grficos que devem ser produzidos

Regras
Restries aplicadas aos modelos de sistema Conselhos sobre boas prticas de projecto Que actividades seguir

Recomendaes

Directrizes do processo

Sistemas de software que se destinam a fornecer suporte automatizado a actividades do processo de software. Sistemas CASE so frequentemente utilizados para suporte ao mtodo Ferramentas para apoiar as actividades iniciais de requisitos e projecto Ferramentas para apoiar as actividades posteriores, como programao, depurao e teste

Dra Otlia F. da Graa

Slide 15

Dra Otlia F. da Graa

Slide 16

Quais so os atributos de um bom software?

Quais so os desafios chave enfrentados pela Engenharia de Software?

O software deve fornecer a funcionalidade e o desempenho necessrio para o usurio e deve ser sustentvel, confivel e utilizvel Sustentabilidade
O software deve evoluir para atender s necessidades O software deve ser confivel

Lidar com sistemas legados, lidar com a crescente diversidade e lidar com as exigncias de prazos de entrega reduzidos Sistemas legados
Antigos, os sistemas de valor devem ser mantidos e actualizados Sistemas so distribudos e incluem uma combinao de hardware e software H uma presso crescente para uma entrega mais rpida de software
Dra Otlia F. da Graa Slide 18

Confiabilidade

Eficincia
O software no deve desperdiar os recursos do sistema O software deve ser utilizvel pelos usurios para o qual foi projectado

Heterogeneidade

Usabilidade

Entrega

Dra Otlia F. da Graa

Slide 17

Responsabilidade Profissional e tica

Questes de responsabilidade profissional

Engenharia de software envolve responsabilidades mais amplas do que simplesmente a aplicao de habilidades tcnicas Os engenheiros de software devem-se comportar de uma maneira honesta e eticamente responsvel, se querem ser respeitados como profissionais O comportamento tico mais do que simplesmente cumprir a lei.

Confidencialidade
Os engenheiros devem normalmente respeitar a confidencialidade dos seus empregadores ou clientes, independentemente de haver ou no um acordo formal de confidencialidade assinado. Engenheiros no devem falsear o seu nvel de competncia. Eles no devem conscientemente aceitar o trabalho que se situe fora sua competncia.

Competncia

Dra Otlia F. da Graa

Slide 19

Dra Otlia F. da Graa

Slide 20

Questes de responsabilidade profissional

Cdigo de tica ACM/IEEE

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 protegida.

Mau uso do computador


Os engenheiros de software no devem usar as suas habilidades tcnicas para uso indevido de computadores de outras pessoas. Faixas uso indevido de computadores vo desde mau uso trivial (jogar na mquina de um empregador, por exemplo) a extremamente graves (disseminao de vrus).

As sociedades profissionais nos EUA tm cooperado para produzir um cdigo de conduta tica. Os membros dessas organizaes assinam o cdigo de prtica quando se juntam. O Cdigo contm oito princpios relacionados com o comportamento e decises feitas por engenheiros de software, incluindo praticantes, educadores, gerentes, supervisores e formuladores de polticas, bem como estagirios e estudantes da profisso.

Dra Otlia F. da Graa

Slide 21

Dra Otlia F. da Graa

Slide 22

Code of ethics - preamble

Code of ethics - principles

Preamble
The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code. Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:

1. PUBLIC
Software engineers shall act consistently with the public interest. Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. Software engineers shall maintain integrity and independence in their professional judgment.
Dra Otlia F. da Graa Slide 24

2. CLIENT AND EMPLOYER

3. PRODUCT

4. JUDGMENT

Dra Otlia F. da Graa

Slide 23

Code of ethics - principles

Dilemas ticos

5. MANAGEMENT
Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. Software engineers shall be fair to and supportive of their colleagues. Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Dra Otlia F. da Graa Slide 25

6. PROFESSION

Discordncia, em princpio, com as polticas da gesto senior O empregado age de forma antitica e libera um sistema crtico sem terminar os testes do mesmo Participao no desenvolvimento de sistemas de armas militares ou sistemas nucleares

7. COLLEAGUES

8. SELF

Dra Otlia F. da Graa

Slide 26

Pontos Chaves

Pontos Chaves

A engenharia de software uma disciplina da engenharia que se preocupa com todos os aspectos da produo de software. Os produtos de software consistem de programas desenvolvidos e documentao associada. Atributos essenciais do produto so de manuteno, confiabilidade, eficincia e usabilidade. O processo de software consiste de actividades que esto envolvidas no desenvolvimento de produtos de software. As actividades bsicas so especificao de software, desenvolvimento, validao e evoluo. Mtodos so formas organizadas de produzir software. Eles incluem sugestes para o processo a ser seguido, as notaes a serem utilizadas, as regras que regem as descries do sistema que so produzidos e diretrizes de projecto.
Dra Otlia F. da Graa Slide 27

Ferramentas CASE so sistemas de software que so projectados para apoiar as actividades de rotina do processo de software, tais como editar diagramas de desenho, verificar a consistncia do diagrama e manter o controle de testes de programas que foram executados. Os engenheiros de software tm responsabilidades para com a profisso de engenharia e a sociedade. Eles no devem estar simplesmente preocupados com questes tcnicas. Sociedades profissionais publicam cdigos de conduta que estabelecem os padres de comportamento esperados de seus membros.

Dra Otlia F. da Graa

Slide 28