• Nenhum resultado encontrado

ES 01 - Introdução à Engenharia de Software

N/A
N/A
Protected

Academic year: 2021

Share "ES 01 - Introdução à Engenharia de Software"

Copied!
19
0
0

Texto

(1)

Introdução à Engenharia de Software

Introdução à Engenharia de Software

(2)

Introdução à Engenharia de Software

Agenda

 Introdução

 Conceitos Básicos

 Responsabilidade Profissional e Ética

 Bibliografia

(3)

Introdução à Engenharia de Software

Introdução

 Objetivos

 Introduzir a Engenharia de Software e explicar a sua importância  Responder questões importantes sobre a Engenharia de Software  Introduzir questões profissionais e éticas sobre a Engenharia de

(4)

Introdução à Engenharia de Software

Introdução

 A evolução do poder computacional permitiu um aumento na possibilidade

de novas aplicações, o que aumentou a complexidade dos softwares

desenvolvidos.

 As economias de todas as nações desenvolvidas são dependentes de

software.

 Mais e mais sistemas são controlados por software.

 Engenharia de software está relacionada com teorias, métodos e

ferramentas para o desenvolvimento profissional de software (custo baixo

e alta qualidade).

(5)

Introdução à Engenharia de Software

Conceitos Básicos

 Software

 Programas de computadores, suas configurações e suas documentações  Produtos de software podem ser desenvolvidos para um cliente em

particular ou podem ser desenvolvidos para o mercado em geral

 Produtos de software podem ser

 Genérico: desenvolvido para ser vendido para uma grande quantidade de

clientes

 Sob Encomenda: desenvolvido para um cliente em particular, seguindo

especificações particulares

 Software é abstrado e intangível

 Não é limitado por materiais ou controlado por leis físicas ou por

(6)

Introdução à Engenharia de Software

Conceitos Básicos

 Engenharia de Software

 É uma disciplina da engenharia que se preocupa com todos os aspectos

da produção de software

 Desenvolvimento de software  Gestão do projeto de software

 Desenvolvimento de ferramentas, métodos e teorias que apóiem a produção

de software

 Os engenheiros de software devem adotar uma abordagem sistemática e

organizada em seu trabalho e usar técnicas e ferramentas apropriadas aos problemas a serem resolvidos, às restrições de desenvolvimento e de recursos disponíveis

(7)

Introdução à Engenharia de Software

Conceitos Básicos

 Engenharia de Software X Ciência da Computação

 A ciência da computação se preocupa com as teorias e fundamentos

referentes aos computadores e sistemas de software.

 A engenharia de software se preocupa com os problemas práticos da

produção de software

 Teorias da ciência da computação nem sempre podem ser aplicadas a

(8)

Introdução à Engenharia de Software

Conceitos Básicos

 Engenharia de Software X Engenharia de Sistemas

 A engenharia de sistemas se preocupa com todos os aspectos do

desenvolvimento de sistemas baseados em computadores, incluindo hardware, software e processo. A engenharia de software é parte deste processo

 Os engenheiros de sistemas estão envolvidos nas especificações dos

sistemas, nos projetos arquiteturais e nos desenvolvimentos e integrações dos sistemas

(9)

Introdução à Engenharia de Software

Conceitos Básicos

 Processos de Software

 Um conjunto de atividades que objetivam o desenvolvimento ou evolução

de software

 Atividades fundamentais em todos os processos de software são:

 Especificação: o que o sistema deve fazer e as restrições de desenvolvimento  Desenvolvimento: construção do sistema de software

 Validação: checagem de que software é o que o cliente quer

 Evolução: alteração do software em resposta a mudanças no negócio do

(10)

Introdução à Engenharia de Software

Conceitos Básicos

 Modelo de Processos de Software

 Uma representação simplificada de um processo de software,

apresentada sobre uma determinada perspectiva

 Exemplo de perspectivas de processos são:

 Modelo de workflow: mostra uma seqüência de atividades

 Modelo de fluxo de dados ou de atividade: um conjunto de atividades que

realizam alguma transformação de dados

 Modelo papel/ação: mostra os papéis e as tarefas que elas devem realizar

 Modelos gerais ou paradigmas (ciclos de vida)

(11)

Introdução à Engenharia de Software

Conceitos Básicos

 Custos de Engenharia de Software

 Aproximadamente 60% dos custos são custos de desenvolvimento, 40%

são custos de testes. Para softwares personalizados, os custos da evolução frequentemente excedem os custos de desenvolvimento

 Os custos variam dependendo do tipo do sistema em desenvolvimento e

dos atributos de sistema, tais como desempenho e confiabilidade

 A distribuição do custo dependem do modelo (ciclo de vida) de

(12)

Introdução à Engenharia de Software

Conceitos Básicos

 Métodos de Engenharia de Software

 É uma abordagem estruturada para o desenvolvimento de software,

cujo objetivo é facilitar a produção de software de alta qualidade, apresentando uma boa relação custo/benefício

 Análise Estruturada (Orientado às funções) e Análise Orientada a Objetos

 Componente de um método:

 Descrição do modelo: descrições dos modelos de sistema a serem

desenvolvidos e a notação utilizada para definir esses modelos

 Regras: restrições que sempre se aplicam a modelos de sistemas

 Recomendações: Heurísticas que caracterizam a boa prática de projeto nesse

(13)

Introdução à Engenharia de Software

Conceitos Básicos

 CASE (

Computer-Aided Software Engineering – Engenharia de Software com auxílio de Computador

)

 Sistema de Software que têm o objetivo de prover suporte automatizado

às atividades de um processo de software. Ferramentas CASE são freqüentemente usadas para dar suporte a métodos

 Upper-CASE:

 Ferramentas que dão suporte as atividades iniciais de um processo, como

requisitos e projetos

 Lower-CASE:

 Ferramentas que dão suporte as atividades finais de um processo, como

(14)

Introdução à Engenharia de Software

Conceitos Básicos

 Atributos de um bom software

 Os produtos de software têm uma série de atributos que refletem a

qualidade do software

 O software deve atender aos atributos necessários ao negócio do cliente,

como funcionalidade e desempenho

 Manutenibilidade

 O software deve ser fácil de manter: corrigir e evoluir

 Confiabilidade

 O software deve ser seguro, confiável, tolerante a erros

(15)

Introdução à Engenharia de Software

Conceitos Básicos

 Principais desafios enfrentados pela Engenharia de Software

 Heterogeneidade

 Sistemas são distribuídos e abertos à integração com outros computadores e

incluem um mistura de hardwares e softwares

 Entrega

 Existem uma pressão crescente para entregas rápidas de software e

mudanças constantes

 Confiança

 Como os software estão relacionados a todos os aspectos da nossa vida, é

(16)

Introdução à Engenharia de Software

Responsabilidade Profissional e Ética

 Construir software compreende mais que simplesmente a aplicação de

técnicas e habilidades. Os engenheiros de software devem ser honestos e

éticos

 O comportamento ético é mais que a aplicação correta da lei, como em:

 Confidencialidade: guardar confidencia quando as informações dos

clientes e das empresas

 Competência: não aceitar serviços que não possam executar

 Direitos de propriedade intelectual: obedecer as leis de propriedade

intelectual, patentes de direitos autorais

(17)

Introdução à Engenharia de Software

Responsabilidade Profissional e Ética

 As sociedades profissionais (IEEE e ACM) têm cooperado e desenvolvido

um código de ética.

 O código contém oito princípios que os engenheiros de software devem

seguir:

 Público  Cliente e empregador  Produto  Julgamento  Gerenciamento  Profissão  Colegas

(18)

Introdução à Engenharia de Software

Bibliografia

 Sommerville, Ian. Engenharia de Software, 8a. edição. Addison Wesley,

2007

(19)

Introdução à Engenharia de Software

Referências

Documentos relacionados

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

Art. 112. Os registros de estabelecimentos e produtos, as autorizações e os cadastramentos dos prestadores de serviços

Observando o perfil de TPR do catalisador RuKL (figura 88), onde as temperaturas da primeira análise de TPR alcançaram valores de 222°C e 262°C e comparando com os

• A elevada correlação entre o IGC e IBOVESPA evidencia que a adoção das “boas práticas” de governança corporativa não criou um teto de proteção para as

Já o Ministério do Turismo (2010), divulga não apenas as atribuições gerais que o guia deve cumprir, mas também as atribuições específicas de acordo com a

A origem do nome Açaí é que nós justamente tivemos o trabalho né, foi o processo foi feito com o SEBRAE né, foi dado as aulas pra nós, aí então, lá no curso ela pediu pra

A função gerente de obras torna-se cada vez mais necessária na construção civil, pois o setor está cada vez mais desenvolvendo e aprimorando a área de coordenação

Na Nova Zelândia em sistemas pastoris as vacas produzem em média 17 litros de leite ao dia, enquanto nos produtores analisados neste estudo a média de