Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tpicos
1- Introduo Engenharia de Software
2 - Fundamentos Organizacionais de Sistemas
de Informao
Software
1- Instrues
Caractersticas do Software
1. desenvolvido ou projetado por
engenharia, no manufaturado no sentido
clssico
2. no se desgasta mas se deteriora
3. a maioria feita sob medida em vez de
ser montada a partir de componentes
existentes
Aplicaes do Software
BSICO
DE TEMPO REAL
COMERCIAL
CIENTFICO E DE
ENGENHARIA
EMBUTIDO
Evoluo do Software
(1950 - 1965)
O hardware sofreu contnuas mudanas
O software era uma arte "secundria" para a
qual havia poucos mtodos sistemticos
O hardware era de propsito geral
O software era especfico para cada aplicao
No havia documentao
Evoluo do Software
(1965 - 1975)
Multiprogramao e sistemas multiusurios
Tcnicas interativas
Sistemas de tempo real
1a gerao de SGBDs
Produto de software - software houses
Bibliotecas de Software
Cresce no de sistemas baseado em computador
Manuteno quase impossvel
..... CRISE DE SOFTWARE
Evoluo do Software
(1975 - hoje)
Sistemas distribudos
Redes locais e globais
Uso generalizado de microprocessadores produtos inteligentes
Hardware de baixo custo
Impacto de consumo
..... CRISE DE SOFTWARE (aflio crnica???)
Evoluo do Software
(Quarta era do software: atualidade)
atualidade
Tecnologias orientadas o objetos
Sistemas especialistas e software de inteligncia
artificial usados na prtica
Software de rede neural artificial
Computao Paralela
Internet
..... CRISE DE SOFTWARE (aflio crnica???)
Crise de Software
Refere-se a um conjunto de problemas
encontrados no desenvolvimento de software:
(1) As estimativas de prazo e de custo freqentemente
so imprecisas
No dedicamos tempo para coletar dados sobre o
processo de desenvolvimento de software
Sem nenhuma indicao slida de produtividade, no
podemos avaliar com preciso a eficcia de novas
ferramentas, mtodos ou padres
Crise de Software
(2) A produtividade das pessoas da rea de software
no tem acompanhado a demanda por seus
servios
Os projetos de desenvolvimento de software
normalmente so efetuados apenas com um vago
indcio das exigncias do cliente
Crise de Software
(3) A qualidade de software s vezes menos que
adequada
S recentemente comeam a surgir conceitos
quantitativos slidos de garantia de qualidade de software
Crise de Software
qualidade de software
Crise de Software
1. prprio carter do Software
O software um elemento de sistema lgico
e no fsico (produto intangvel)
Conseqentemente, o sucesso medido
pela qualidade de uma nica entidade e
no pela qualidade de muitas entidades
manufaturadas
O software no se desgasta, mas se
deteriora!!!
Crise de Software
2. falhas das pessoas responsveis pelo
desenvolvimento de Software
Gerentes sem nenhum background em
software
Os profissionais da rea de software tm
recebido pouco treinamento formal em
novas tcnicas para o desenvolvimento de
software
Crise de Software
3. mitos do Software
propagaram desinformao e confuso
administrativos
cliente
profissional
Realidade:
Realidade:
preciso
precisomuito
muitomais
maisdo
doque
queos
osmais
maisrecentes
recentes
computadores
computadorespara
parase
sefazer
fazerum
umdesenvolvimento
desenvolvimentode
de
software
softwarede
dealta
altaqualidade.
qualidade.
Engenharia de Software
Definies
Engenharia de Software
Definies
Engenharia de Software
Definies
Engenharia de Software
mtodos:
mtodos proporcionam os detalhes de
como fazer para construir o software
Engenharia de Software
Algoritmo de processamento
Codificao
Teste
Manuteno
Engenharia de Software
ferramentas:
ferramentas do suporte automatizado
aos mtodos.
existem
quando
as ferramentas so integradas
estabelecido um sistema de suporte ao
desenvolvimento de software chamado CASE Computer Aided Software Engineering
Engenharia de Software
procedimentos:
procedimentos constituem o elo entre
os mtodos e ferramentas
seqncia em que os mtodos sero aplicados
produtos que se exige que sejam entregues
controles que ajudam assegurar a qualidade e
coordenar as alteraes
marcos de referncia que possibilitam administrar
o progresso do software.
Engenharia de Software
conjunto de etapas que envolve
mtodos
ferramentas
procedimentos
Essas etapas so conhecidas como
componentes de CICLO DE VIDA DE
SOFTWARE
Engenharia de Software
Alguns ciclos de vida mais conhecidos so:
Ciclo de Vida Clssico
Prototipao
Modelo Espiral
Tcnicas de 4a Gerao
do projeto e da aplicao
mtodos
controles
Cascata
Engenhariade
de
Engenharia
Sistemas
Sistemas
Anlise de
de
Anlise
Requisitos
Requisitos
Projeto
Projeto
Codificao
Codificao
Testes
Testes
Manuteno
Manuteno
ANLISE E ENGENHARIA DE
SISTEMAS
Projeto
Codificao
Testes
Manuteno
ANLISE DE REQUISITOS DE
SOFTWARE
processo de coleta dos requisitos
intensificado e concentrado
especificamente no software
Projeto
Codificao
Testes
Engenharia de
Sistemas
Anlise de
Requisitos
se concentra em 4 atributos do
programa:
Estrutura de Dados,
Testes
Manuteno
Arquitetura de Software,
Detalhes Procedimentais e
Caracterizao de Interfaces
Engenharia de
Sistemas
Anlise de
Requisitos
Projeto
Codificao
Testes
Manuteno
Concentram-se:
Projeto
Codificao
Testes
Manuteno
Clssico (comentrios)
Prototipao
apropriado
Prototipao
incio
fim
obteno
dos
requisitos
construo
produto
projeto
rpido
construo
prottipo
refinamento
prottipo
avaliao
prottipo
Atividades da Prototipao
Obteno dos Requisitos:
incio
fim
construo
produto
obteno
dos
requisitos
projeto
rpido
construo
prottipo
refinamento
prottipo
avaliao
prottipo
Atividades da Prototipao
incio
fim
construo
produto
obteno
dos
requisitos
Construo Prottipo:
implementao do projeto
projeto
rpido
construo
prottipo
refinamento
prottipo
avaliao
prottipo
rpido
Avaliao do Prottipo:
cliente e desenvolvedor avaliam
o prottipo
Atividades da Prototipao
Refinamento dos Requisitos:
incio
fim
construo
produto
obteno
dos
requisitos
projeto
rpido
construo
prottipo
refinamento
prottipo
avaliao
prottipo
Atividades da Prototipao
incio
fim
construo
produto
obteno
dos
requisitos
Construo Produto:
projeto
rpido
construo
prottipo
refinamento
prottipo
avaliao
prottipo
identificados os requisitos, o
prottipo deve ser descartado e a
verso de produo deve ser
construda considerando os critrios
de qualidade.
Prototipao (comentrios)
Ainda que possam ocorrer problemas, a prototipao
um ciclo de vida eficiente
A chave definir-se as regras do jogo logo no
comeo
Espiral
planejamento
anlise dos
riscos
deciso de continuar ou no
avaliao
do cliente
direo de um
sistema
engenharia
concludo
planejamento
anlise dos
riscos
Construo: desenvolvimento do
produto no nvel seguinte
avaliao
do
cliente
engenharia
Espiral (comentrios)
Espiral (comentrios)
o modelo relativamente novo e no tem
sido amplamente usado
Demorar muitos anos at que a eficcia desse
modelo possa ser determinada com certeza
absoluta.
Tcnicas de 4a Gerao
Concentra-se na capacidade de se especificar o software
a uma mquina em um nvel que esteja prximo
linguagem natural.
Tcnicas de 4a Gerao
Obtenodos
dos
Obteno
Requisitos
Requisitos
Estratgiado
do
Estratgia
Projeto
Projeto
Implementao
Implementao
usando4GL
4GL
usando
Testes
Testes
Ferramentas do ambiente de
desenvolvimento de software de 4GL
O ambiente de desenvolvimento de software que sustenta o ciclo
de vida de 4a gerao inclui as ferramentas:
Obteno dos
Requisitos
Estratgia do
Projeto
Implementa
o usando 4GL
Testes
2. estratgia de "Projeto":
para pequenas aplicaes
mover-se do passo de Obteno
dos Requisitos para o passo de
Implementao usando uma
Linguagem de 4G
Testes
3. implementao usando
4GL: os resultados desejados so
representados de modo que haja
gerao automtica de cdigo .
Deve existir uma estrutura de
dados com informaes relevantes
e que seja acessvel pela 4GL
Obteno dos
Requisitos
Estratgia do
Projeto
Implementa
o usando 4GL
Testes
o desenvolvedor
deve efetuar testes e
desenvolver uma
documentao significativa. O
software desenvolvido deve ser
construdo de maneira que a
manuteno possa ser
efetuada prontamente.
Obteno dos
Requisitos
Estratgia do
Projeto
Implementa
o usando 4GL
Testes
PROPONENTES:
produtividade)
OPONENTES:
OPONENTES
2. DESENVOLVIMENTO e
3. MANUTENO.
MANUTENO
Operao
Definio
o que
1. Anlise de
Sistema
2. Planejamento
do Projeto
3. Anlise de
Requisitos
Desenvolvimento
Manuteno
como
1. Projeto de
Software
2. Codificao
3. Teste
SOFTWARE
PRODUTO
mudanas
1. Entender
2. Modificar
3. Revalidar
Atividades de Apoio
1. Revises
2. Documentao
3. Controle de
Mudanas
documento de requisitos
especificao do projeto
planos de teste
princpios de operao
procedimentos de manuteno
manuais do usurio
Habilidade Individual
Comunicao da equipe
Complexidade do produto
Notaes apropriadas
Abordagens sistemticas
controle de mudanas
Adequao de treinamento
Habilidades de gerenciamento
Metas apropriadas
Entendimento do problema
Habilidades necessrias
Treinam empregados.
controle oramentrio.
avaliao do progresso.
realocao de recursos.
ajustes no cronograma.
Concluso
ENGENHARIA DE SOFTWARE
pode ser vista como uma abordagem de desenvolvimento de
software elaborada com disciplina e mtodos bem definidos.
Pontos a ponderar
Pontos a ponderar