Você está na página 1de 41

As 10 reas da Engenharia de Software, Conforme o SWEBOK

Jorge H C Fernandes 2004

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Indicaes de que a engenharia de software est se tornando uma atividade de engenharia (SWEBOK)
Cursos de graduao em universidades dos EUA, Reino Unido, Austrlia, Canad e Brasil ISO e CMM/CMMI usados para certificar empresas de desenvolvimento de software Cdigo de tica Registro e Certificao da profisso!?

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Caractersticas de uma Engenharia (SWEBOK, 1999)


Educao de iniciao profissional validada e legitimada pela sociedade Registro da adequao prtica atravs de certificao voluntria ou licenciamento compulsrio Desenvolvimento de habilidades especializadas e educao profissional continuada Suporte atravs de sociedades profissionais Compromisso a normas de conduta freqentemente estabelecidas em um cdigo de tica

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Origens do Corpo de Conhecimentos da Engenharia de Software


Matemtica Cincia da Computao Administrao de Projetos Cincias Cognitivas e Fatores Humanos Engenharia de Computadores Administrao e Cincias Administrativas Engenharia de Sistemas

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Conceitos Fundamentais de Engenharia de Software


Abstrao Mtodos e Notaes de Anlise e Design Prototipao de Interface com Usurio Modularidade e Arquitetura Ciclo de Vida e Processo de Software Reuso Mtricas Suporte Automatizado
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Requisitos de software Aquisio, anlise, especificao e gesto de requisitos de software. Design de software Gerncia de Configurao de Software Transformao de requisitos (de software), Identifica a configurao do sistema (caractersticas tipicamente estabelecidos em termos documentadas do hardware e software que o relevantes ao domnio do problema, em uma compem) em pontos discretos no tempo, de modo a descrio explicando como solucionar os controlar sistematicamente suas mudanas e manter aspectos do problema relacionados com sua integridade e rastreabilidade durante o ciclo de software vida do sistema. Construo de Software Gerncia de Engenharia de Software Construo de programas funcionais e Gerencia projetos de desenvolvimento de software. coerentes atravs da codificao, autovalidao, e teste unitrio. Processo de Engenharia de Software Teste de Software Define, implementa, mede, gerencia, modifica e aperfeioa o processo de desenvolvimento de Verificao dinmica do comportamento do software programa atravs do uso de um conjunto finito de casos de teste - adequadamente Ferramentas e Mtodos selecionados de um domnio de execues Ferramentas de software automatizam o processo usualmente infinito - contra o comportamento de engenharia de software esperado deste Mtodos impem estrutura sobre a atividade de Manuteno de Software desenvolvimento e manuteno de software com o Atividades de suporte custo-efetivo a um objetivo de torna-la sistemtica e mais propensa ao sistema de software, que pode ocorrer antes e sucesso. aps a entrega do software. Qualidade de Software Aps a entrega do software so feitas Conjunto de atividades relacionadas com garantia modificaes com o objetivo de corrigir falhas, de qualidade de software, entre estas as atividades melhorar seu desempenho ou adapta-lo a um de verificao e validao. ambiente modificado. Antes da entrega do software so feitas As 10 reas da Engenharia de Software, Conforme o SWEBOK, porde planejamento. Dez/2004 atividades Jorge H C Fernandes,

10 reas da Engenharia de Software

Requisitos de Software
Aquisio, anlise, especificao e gesto de requisitos de software Dividido em seis tarefas interativas
Engenharia de Requisitos Elicitao (captura, descoberta, aquisio) de requisitos Anlise de Requisitos
deteco e resoluo de conflitos, descoberta dos limites e interaes do sistema com o ambiente (mapeamento dos requisitos do sistema para requisitos do software)

Especificao de requisitos (estrutura, qualidade e verificao do documento de requisitos) Validao de requisitos (verificao de omisses, conflitos e ambiguidades) + adequao s normas de qualidade. Gesto de requisitos (gesto de mudanas, manuteno da consistncia com as fases posteriores)
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Design de Software
Transforma requisitos em uma descrio de soluo sob o ponto de vista do software Decomposio e organizao em componentes, com descrio de interfaces entre estes componentes Refina a descrio em nvel de detalhe adequado construo
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Sub-reas do Design de Software


Arquitetura de software
estruturas e pontos de vista estilos arquiteturais padres de design famlias de programas e frameworks Anlise e avaliao de qualidade de design
atributos de qualidade, anlise de qualidade ferramentas de avaliao mtricas

Notaes de design (estruturais e comportamentais) Estratgias e mtodos de design


estratgias gerais design orientado a funes design orientado a objetos design centrado em estruturas de dados outros mtodos

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Descrever Estruturas de uma aplicao

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Descrever Comportamentos

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Edies Java 2 e Seus Dispositivos

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Arquiteturas Multi-Camadas com Servlets N-Tier Two-Tier Three-Tier


Cliente Java Aplicao/Applet, HTML Browser Cliente Java Aplicao/Applet, HTML Browser Cliente Java Aplicao/Applet, HTML Browser

java.net
Middleware HTTP

java.net
Middleware HTTP HTTP

java.net

java.servlet Servlets

javax.servlet Servlets java.sql

javax.servlet Servlets java.net, javax.servlet

SGBD Relacional A B C

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Arquiteturas Multi-Camadas com Enterprise Java Beans (EJBs) N-Tier Two-Tier N-Tier
Cliente Java Aplicao/Applet, Cliente Java Aplicao/Applet Cliente Java Aplicao/Applet, HTML Browser

java.rmi, javax.jndi
Middleware RMI, JNDI

java.rmi, javax.jndi
Middleware RMI, JNDI HTTP

java.net

javax.ejb EJBs

javax.ejb EJBs java.rmi, java.sql javax.jndi

javax.servlet Servlets java.rmi, javax.jndi

SGBD Relacional A B C

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Funcionamento dos Applets


Web Server WWW (HTTP(s)) Web Browser
Applet 1 Applet 2 Applet 3

Interface Browser

Applet 1 Applet 2 Applet 3

Applet1

Applet2

Pgina HTML Classe Classe Applet Sandbox

Applet3

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004 Objeto Applet Objeto

Funcionamento dos MIDlets


Web Server WWW (HTTP(s))
Repositrio Web Sandbox
MIDlet 1 SUITE A

SUITE 3

MIDlet 2 SUITE B SUITE 3 MIDlet C

SUITE 1 SUITE 2 SUITE 3

Applet1

Applet2

Applet3

Pgina HTML Descritor de Aplicao (JAD) Arquivos (Imagens, etc) Classe MIDlet Classe

RecordStore As 10 reas da Engenharia de MIDlet Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004 Objeto Software, Objeto

SUITE 1

Arquitetura de Sistemas de TV Digital

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Construo (implementao) de Software


Implementao de software funcional e completo atravs da codificao, autovalidao e auto-teste (teste unitrio). Duas vises complementares
Estilos de construo de interfaces
lingustico, formal e visual Formalismos: Linguagem de Especificao Formal Z, linguagem de programao funcional Haskell, ML, LISPScheme.

princpios de organizao
reduo de complexidade, antecipao diversidade, estruturao para validao e uso de normas
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Java: Um Modelo de Organizao Semntica


Concorrncia e tratamento de excees herana de implementaes alocao de memria Estruturas de Controle classes-mdulos-interfaces Subrotinas estruturas de controle e Classes subrotinas Objetos Herana variveis e tipos de dados
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Teste de Software
Verificao dinmica do comportamento de um programa atravs de uma seqncia finita de casos de tese, adequadamente retirada de um domnio usualmente infinito de execues. Tcnicas de teste
baseados na intuio, baseados em especificao, baseado em cdigo, baseado em falhas, baseado no uso ou conforme a natureza da aplicao. Black-box e white-box
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Plano de Teste
Plano de Teste: <APLICACAO> <VERSO-DO-PLANO> Autor: <AUTOR-PLANO> Configurao sob teste: <DESCRIO-CONFIG><VERSO-CONFIG> Histrico de Alteraes: <DT-CRIACO> <ALT-1> <ALT-2>,, <ALT-N> Caso de Teste
CASO 1 Objetivo: <OBJETIVO DO CASO DE TESTE-1>

Passos: Resultado Esperado <PASSO-1-1> <RESULTADO-1-1> <PASSO-1-2> <RESULTADO-1-2> <PASSO-1-n> <RESULTADO-1-n>


CASO 2 Objetivo: <OBJETIVO DO CASO DE TESTE-2>

Passos: Resultado Esperado <PASSO-1-1> <RESULTADO-1-1> <PASSO-1-2> <RESULTADO-1-2> <PASSO-1-n> <RESULTADO-1-n>


As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Log de Teste
Log de Teste: <APLICACAO> <VERSO-DO-PLANO> Testador: <TESTADOR> Configurao sob teste: <DESCRIO-CONFIG><VERSO-CONFIG> Data: <DATA DE REALIZACAO DO TESTE> Casos de Teste CASO 1 Objetivo: Passos: <PASSO-1-1> <PASSO-1-2> <OBJETIVO DO CASO DE TESTE-1> Resultado Esperado <RESULTADO-OBTIDO> <RESULTADO-OBTIDO>

Observaes <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?>

<PASSO-1-n> <RESULTADO-OBTIDO> CASO 2 Objetivo: Passos: <PASSO-1-1> <PASSO-1-2> <OBJETIVO DO CASO DE TESTE-2> Resultado Esperado <RESULTADO-OBTIDO> <RESULTADO-OBTIDO>

<ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?> <ERRO? Ou ACERTO?>

<PASSO-1-n> <RESULTADO-OBTIDO>

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Teste de software
Anlise da satisfao dos requisitos do sistema, definidos por cliente e usurio, feitas por uma mquina constrida sob coordenao de um software
Se qualquer parte da mquina muda a anlise deve ser repetida
Software Hardware SGBD Rede Pessoal

Se os requisitos mudam, a mquina mudar para atend-los, e deve ser testada novamente

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Grandes Limitaes do Teste de Software


1 Voc no pode testar o software em todos os sistemas nos quais ele ser carregado Soluo: testar em (configuraes) de sistemas padronizadas 2 Voc no pode dialogar com a mquina at a exausto, porque a linguagem finita, mas os dilogos so infinitos Soluo: tcnicas de cobertura de testes
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Manuteno de Software
Totalidade das atividades requeridas para prover suporte custoefetivo a um sistema de software, que pode ocorrer antes ou aps a entrega do software. Aps a entrega do software so feitas modificaes com o objetivo de corrigir falhas, melhorar seu desempenho ou adapta-lo a um ambiente modificado. Antes da entrega do software so feitas atividades de planejamento.

Atividades de Manuteno de Software


Implementao do processo de manuteno Anlise do problema e modificaes Implementao da Modificao Reviso e aceitao da manuteno Migrao ou Descontinuao

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Leis de Lehman Aplicveis Manuteno de Software e Sistemas de Grande Porte


Lei da Mudana Contnua Lei da Complexidade Crescente Leis da AutoRegulao Lei Conservao da Estabilidade Organizacional Lei da Conservao da Familiaridade Lei Crescimento Contnuo Lei da Qualidade em Declnio

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Gerncia de Configurao de Software


Identifica a configurao do sistema (caractersticas documentadas do hardware e software que o compem) em pontos discretos no tempo, de modo a controlar sistematicamente suas mudanas e manter sua integridade e rastreabilidade durante o ciclo de vida do sistema.

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Gerncia de Engenharia de Software


Gerencia projetos de desenvolvimento de software.

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Ciclo de Vida do Projeto [PMBOK, 1996]

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Categorias de Processos [PMBOK, 1996]

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Consumo de Recursos por Grupo de Processo [PMBOK, 1996]

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

reas da Gesto de Projetos


Gesto de Integrao Gesto de Escopo Gesto de Tempo Gesto de Custos Gesto de Qualidade Gesto de Recursos Humanos Gesto de Comunicaes Gesto de Riscos Gesto de Aquisies
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Processo de Engenharia de Software


Define, implementa, mede, gerencia, modifica e aperfeioa o processo de desenvolvimento de software

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

CLIENTES

CONSUMO

PRODUTOS E SERVIOS
SOLUES

REQUISITOS

PROCESSO PRODUTIVO DE SOFTWARE E SISTEMAS

PESSOAS METODOS TREINAMENTO FERRAMENTAS SOFTWARE HARDWARE

Organizao Produtora
As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Processos de Software
Processo disciplina
Individual Grupal Organizacional

Abordagens
Qualidade de Processo Estrutura de Processo Automao de Processo

Por onde comear?


As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Ferramentas de Engenharia de Software


Ferramentas
Automatizam as tarefas do processo de engenharia de software

Ambientes de desenvolvimento de software


Ferramentas computadorizadas que auxiliam ao processo de desenvolvimento de software
Automatizam tarefas repetitivas e bem definidas

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Ambiente para Desenvolvimento MHP em Equipe (Frolich, 2002).


As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Mtodos
Impem estrutura sobre a atividade de desenvolvimento e manuteno de software com o objetivo de torna-la sistemtica e mais propensa ao sucesso. Componentes de um Mtodo
Notao + vocabulrio Lista de atividades e procedimentos para realiz-las Guias para avaliar produto e processo.

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Organizao do RUP

Dimenso Espacial Dimenso Temporal


As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Qualidade de Software
Conjunto de atividades relacionadas com garantia de qualidade de software, entre estas as atividades de verificao e validao.

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

As 10 reas da Engenharia de Software, Conforme o SWEBOK


Jorge H C Fernandes 2004

As 10 reas da Engenharia de Software, Conforme o SWEBOK, por Jorge H C Fernandes, Dez/2004

Você também pode gostar