Академический Документы
Профессиональный Документы
Культура Документы
1.2Alguns Exemplos
Modems operando em linhas telefnicas - filtragem at 1960 e depois de 1960. Filtragem digital adaptativa Filtragem do Sinal de ECG e outras aplicaes biomdicas Compensao de Canais de Comunicao sem fio. Como funciona na Telefonia Celular, entre assinantes e ERBs Tratamento de Imagens e de Sinais emitidos por Sondas Espaciais - Filtragem Autodidata ou Cega Aplicaes para levantamentos geolgicos
FAAP - FACULDADE DE ENGENHARIA - Sistema Analgico - Discretizao das Equaes do Sistema - Duas abordagens de Implementao: utilizando somente componentes de hardware (somadores, subtratores, multiplicadores, divisores e elementos de atraso) ou hardware e software
2. Caracterizao de Sinais
Em aplicaes em PDS uma sequncia discreta { x [ n ]} no tempo gerada pela amostragem peridica de um sinal contnuo no tempo x( t ) , em intervalos de tempo uniformes: x [ n ] = x( t ) t = nT n = ....,2 ,1,0 ,1,2 ,... (2.1)
f = 1 / T , respeitando Nyquist
f 2 f x , frequncia
2.1Tipos de Sequncia
Exerccio x [ n ] = cos( n / 10 ) x[ n ] = n 2 Exerccio/Laboratrio - Apresentao da Ferramenta/Software de Simulao a ser usado no Curso de PDS e suas funcionalidades - Gerao de grficos contnuos e amostrados a partir de sequncias estabelecidas Se peridica, qual o perodo?
n =
x[ n ] <
(2.10)
n =
x[ n ] <
(2.11)
= x[ n ]
n =
(2.12)
Exerccio x [ n ] = 1 /( 2 )n Exerccio/Laboratrio Verificao da construo de arquivos de Som no padro .WAV em computadores. Ferramentas para manipulao de arquivos de Som Reviso do teorema de Nyquist e aplicao em audio Verificao dos efeitos de alterao da frequncia de amostragem e deslocamento em frequncia das amostras Sistema de Superposio de Amostras Construo de um Sistema para transformar uma amostra de Som Estreo em Amostra de Som Mono. para n 0 (0, para os demais casos)
a = a / M = a [ n ] / M
n =
(2.13)
b = b / M = b[ n ] / M
n =
(2.14)
FAAP - FACULDADE DE ENGENHARIA Definem-se como as sequncias de potncia normalizadas das sequncias a [ n ] e b [ n ] respectivamente, a' [ n ] = a [ n ] / Pa e b [ n ] = b[ n ] / Pb
'
(2.15) (2.16)
a/ = a [ n]
' n =
= a[ n ]
n =
/ Pa = a / Pa
(2.17)
b/ = b [ n]
' n =
= b[ n ]
n =
/ Pb = b / Pb ,
(2.18)
Desta forma, as novas sequ6encias assim definidas possuem potncia mdia por amostra unitria. Uma maneira de criar uma sequncia b" [ n ] de mesma potncia mdia que a sequncia a [ n ] ento definir a mesma como, b" [ n ] = b [ n ] Pa (2.21)
Pb
Este ultimo processo utilizado para a construo de sistemas de equalizao ou normalizao de potncia e ainda sistemas de controle automtico de ganho (GAC) digitais, definindo um tamanho de bloco representativo dos sinais (M).
[ n ] = [ k ]
k =
[ n ] = [ n ] [ n 1]
Exerccio Esboar o grfico da sequncia x [ n ] = [ n ] + [ n 2 ] + [ n 4 ] 3 [ n 6 ] Representar como Soma de Impulsos - vide prximo conceito! Qual a Energia da Sequncia? Qual o comprimento, se limitada? Ela absolutamente e quadraticamente somvel?
Exerccio Considerando as sequncias a[ n ] = [ n ] + [ n 2 ] + 2 [ n 4 ] 4 [ n 6 ] e b[ n ] = [ n ] + 2 [ n 1 ] + 2 [ n 3 ] 5 [ n 6 ] Representar como Soma de Impulsos Qual a Energia das Sequncias? Qual o comprimento, se limitadas? Qual a Potncia Mdia/ Encontre as sequncias normalizadas (em potncia mdia) respectivamente. Calcule a Energia e Potncia Mdia das sequncias normalizadas.
Exerccio/Laboratrio Construo e testes de um sistema Equalizador de Potncia de Som, baseado em arquivos .WAV Construo e testes de um Sistema de GAC Verificao do funcionamento do sistema de GAC, quando o sinal a ser recuperado est adicionado de rudo branco gaussino ou rudo rosa, de potncia constante.
Mdia Mvel y[ n ] = x[ n k ] M
k =0 M 1
(3.1)
FAAP - FACULDADE DE ENGENHARIA Exerccio Dada a sequncia x [ n ] = [ n ] + [ n 2 ] + [ n 4 ] 3 [ n 6 ] Esboar o grfico da mdia mvel y [ n ] = x [ n k ] 3 Representar como Soma de Impulsos Qual a Energia da Sequncia? Qual o comprimento, se limitada? Ela absolutamente e quadraticamente somvel? Desenhar o Grfico x [ n ] x n e y [ n ] x n Verificar o efeito Passa baixa provocado pelo Filtro
k =0 2
Exerccio/Laboratrio Projetar com o apoio do Software de Simulao um sistema de Dolby Digital. Testar com amostras de som digitalizadas em arquivos .WAV e rudo rosa na faixa [0, 22 K] hz. Verificar a eficincia quando se aumenta e diminui a relao S/R, bem como o nmero de amostras da mdia mvel.
Acumulador y [ n ] = x[ k ]
k = n
(3.2)
3.1Classificao
Linearidade Considere as respostas y1 [ n ] resposta do sistema a sequncia de entrada x1 [ n ] e y 2 [ n ] resposta do sistema a sequncia de entrada x2 [ n ] . O sistema dito linear, se para uma entrada x [ n ] = x1 [ n ] + x2 [ n ] , em que e so constantes a resposta do mesmo ser y [ n ] = y1 [ n ] + y 2 [ n ]
FAAP - FACULDADE DE ENGENHARIA Exerccio Verifique se a mdia mvel do exerccio anterior repreenta um Sistema Linear Idem para y [ n ] = ( x [ n ])2 Idem para o sistema de ECO y [ n ] = x [ n ] + 0.1x [ n 2 ] Exerccio/Laboratrio Implemente um programa de simulao que seja capaz de introduzir o efeito de ECO em arquivos de som, com tempo de retardo e intensidade a especificar.
Invarincia no Tempo Considere as respostas y1 [ n ] resposta do sistema a sequncia de entrada x1 [ n ] e y [ n ] resposta do sistema a sequncia de entrada x [ n ] . O sistema dito invariante no tempo, se para uma entrada x [ n ] = x1 [ n n0 ] , a resposta do mesmo ser y [ n ] = y1 [ n n0 ] Exerccio Verifique a invari6ancia no tempo para o sistema y [ n ] = x [ n / L ], n = ...,2 L , L ,0 , L ,2 L ,... e y [ n ] = 0 para os demais valores de n.
Causalidade Um sistema dito causal se simplesmente as alteraes ou reflexos em sua sequncia sida no precedem nunca uma alterao em sua sequncia de entrada.
Estabilidade "BIBO" (bounded input, bounded output) Um sistema dito estvel (do tipo "BIBO") se | x [ n ] |< Bx para todos os valores de n implica em | y [ n ] |< B y , em que Bx e B y so constantes finitas.
y = y [ n ] x = x[ n ] <
n = n =
(3.3)
Resposta Impulsiva e Relacionamento Entrada-Sada A resposta impulsiva de um sistema resulta em uma sequncia h [ n ] . Para o caso de um sistema acumulador tem-se,
h[ n ] = ( l ) Para sistemas LTI (Linear Time Invariant) - lineares e invariantes no tempo, possvel escrever, y [ n ] = x [ k ] h[ n k ] = x [ n k ] h [ k ]
k = k = l =
(3.4)
A resposta impulsiva de um sistema resulta em uma sequncia h [ n ] . Para o caso de um sistema acumulador tem-se,
Sistemas LTI em cascasta e em Paralelo Condio de Estabailidade do Sistema LTI Condio de Causalidade Sistemas FIR e IIR
4. Estudo de Sinais e Sistemas Discretos no Domnio da Frequncia 4.1 Transformada Discreta de Fourier 4.1.1 Definio
A Transformada Discreta de Fourier, X ( e jw ) , de uma sequncia x [ n ] definida como, X ( e jw ) = x [ n ] e jwn
n =
(4.1)
Em geral X ( e jw ) uma funo complexa da varivel real w e pode ser escrita como, X ( e jw ) = X re ( e jw ) + jX im ( e jw ) , em que X re ( e jw ) e X im ( e jw ) a parte real e imaginria de X ( e jw ) respectivamente. bastante usual representar X ( e jw ) na forma polar, a partir do mdulo e do argumento da mesma, X ( e jw ) =| X ( e jw ) | e j ( w ) em que ( w ) ,
(4.2)
(4.3)
(4.4)
(4.5)
(4.5)
n =
( w w0 + 2k )
1
n [ n ] , ( | |< 1 )
Propriedade
Sequncia g[ n ] h[ n ]
Transformada G( e jw ) H ( e jw )
Linearidade Deslocamento no Tempo Deslocamento em Frequncia Diferenciao em Frequncia Convoluo Modulao Relao de Perseval
g [ n ] + h[ n ]
g [ n n0 ] e jw0 n g [ n ] n g[ n ] g [ n ] h[ n ] g [ n ] h[ n ]
G( e jw ) + H ( e jw )
e jwn0 G( e jw ) G( e j( w w0 ) ) dG( e jw ) / dw G( e jw )H ( e jw )
j j( w ) )d G( e )H ( e 2
n =
g [ n ] h* [ n ] =
= G( e jw )H * ( e jw )dw 2
(4.6)
(4.7)
que pode ser interpretada como a transformada de Fourier da sequncia modificada x [ n ] r n . em que X re ( e jw ) e X im ( e jw ) a parte real e imaginria de X ( e jw ) respectivamente. Exerccio Calcular a transformada Z da sequncia x [ n ] definida como, x [ n ] = ( 0 ,4 )n [ n ]
(4.8)
em que C' o contorno no sentido horrio definido por | z |= r . Usando o teorema dos resduos de Cauchy, x [ n ] = [ residuos de X ( z )z n1 dos polos dentro C ] Outra maneira de calcular a transformada inversa a expanso em fraes parciais, da mesma forma que foi estudado no 3.o ano em Circuitos Eltricos.
(4.9)
n =
Propriedade
Linearidade Deslocamento no Tempo Multiplicao por uma sequncia exponencial Diferenciao em z Convoluo Modulao Relao de Perseval
Sequncia g[ n ] h[ n ] g [ n ] + h[ n ] g [ n n0 ]
Transformada G( z ) H( z ) G( z ) + H ( z ) z n0 G( z ) G( z / ) zdG( z ) / dz G( z )H ( z )
C 1 G( v )H ( z / v )v dv 2j
ng[ n ]
n g[ n ] g [ n ] h[ n ] g [ n ] h[ n ]
n =
g [ n ] h* [ n ] =
= G( v )H * ( 1 / v* )v 1dv 2j
C
Tabela 4.4 - Propriedades bsicas Exerccio Orientado em Sala de Aula Anlise de exemplos de Filtros digitais Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 15
Fonte Emissora
Codificador da Fonte
MENSAGENS OU SMBOLOS
BINITS
MENSAGENS OU SMBOLOS
Limitaes Fsicas do Canal: Realizabilidade Largura de Faixa Caracterstica Potncia de Transmisso Figura de Rudo Nota: dizemos Canal Equivalente - Canal com Cod/Decod de Canal acoplado com a misso de reduzir/eliminar os efeitos provocados pelo rudo na Comunicao
Figura 5.1 - Sistema de Comunicao e a Codificao da Fonte para Transmisso Digital A maneira atravs da qual codificamos mensagens emitidas por uma fonte influncia ento a realizabilidade e eficincia com que se envia informaes em um canal de Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 16
FAAP - FACULDADE DE ENGENHARIA comunicaes. A Teoria da Informao oferece o conjunto de ferramentas matemticas necessrio que permite melhor caracterizar este processo e o estudar. Na seqncia so apresentados e desenvolvidos os conceitos desta Teoria que so trabalhados para entender e medir os processos de Codificao Digital de Fontes de Informao.
Observa-se, de forma intuitiva, que a primeira mensagem praticamente no possui ou transmite pouca quantidade de informao, visto que todos esperam em um Curso, que professores lecionem suas aulas. J a Segunda mensagem possui uma quantidade de informao associada maior que a primeira, tendo em vista que j se saber com antecipao que o professor ir lecionar amanh, fato que no to comum quanto ao aspecto de saber-se que professores lecionam, de forma que um estudante, ao tomar conhecimento desta mensagem, saber programar melhor o seu prximo dia. A Terceira mensagem j possui ou transmite uma quantidade de informao ainda maior que a Segunda, visto que comumente esperado que o professor venha as suas aulas e falte pouco. Observe que para esta fonte que emite estes trs tipos de mensagens de um Curso em uma Escola, a freqncia de ocorrncia da mensagem 1 (um) ou evento 1 (um) maior que a da mensagem 2 (dois), sendo que a freqncia de emisso da mensagem 3 (trs) deve ser ainda menor que a do evento 2 (dois). Desta maneira, pode-se observar que a quantidade de informao que uma mensagem possui inversamente proporcional a freqncia de ocorrncia desta, emitida por uma fonte de informao. Considerando ento duas mensagens, seja P(1) a freqncia ou probabilidade da primeira ocorrer e seja P(2) a probabilidade da segunda ocorrer. Seja I a quantidade de informao associada a uma certa mensagem. Ento podemos dizer que: I inversamente proporcional a P; P(1) > P(2) ! I(2) > I(1); P E [0,1] ! I >= 0; Se as duas mensagens so estatisticamente independentes, ento a quantidade de informao associada a ocorrncia ou emisso da mensagem 1 e da mensagem 2 I(12) ser: I(12)= I(1)+I(2). Observe que neste caso P(12)=P(1).P(2).
possvel demonstrar que a nica funo matemtica que satisfaz as condies acima simultaneamente a funo logaritmo. Ento, a quantidade de informao transmitida por uma mensagem ser: Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 17
Na Eq. (5.1) observamos b depende da escolha da unidade que desejamos medir a quantidade de informaes. Por ex.: para b=2 (*), a unidade ser bits, contrao usual de "binary digits"; para b=10, a unidade ser dgitos decimais. (*) Obs.: Considerando o caso mais trivial de fonte binria que emite mensagens de forma equiprovvel (P(1)=P(2)=0,5), I(1) = I(2) = log2(1/0,5) = 1 bit. Isto , a quantidade de informaes transmitida por uma mensagem de uma fonte binria equiprovvel de um bit. Embora seja necessrio caracterizar individualmente a quantidade de informaes associada a mensagem de uma fonte, este conceito no to relevante quando se pensa em caracterizar uma fonte, que normalmente emite um conjunto de mensagens ou smbolos. Para tanto, desenvolveu-se o Conceito de Entropia de Fontes de Informao que apresentado a seguir.
Na Eq. (5.2), N(i) igual ao nmero de ocorrncias ou emisses da mensagem "i " em N amostras. O quantidade mdia de informao por smbolo emitido (medido em [bits/simb.]) nesta amostra de N emisses obtida dividindo a Eq. (5.2) por N: Q.Mdio = N(1).I(1)/N + N(2).I(2)/N + ... + N(M).I(M)/N [bits/simb.] (5.3) Se na Eq. (5.3) o nmero de amostras grande, pela "Teoria dos Grandes Nmeros" observase que N(i)/N ! P(i), probabilidade de ocorrncia da emisso da mensagem "i". Neste caso passa-se a chamar a quantidade mdia de informaes medida de "Entropia da Fonte de Informao" ou simplesmente H(X). H(X) = P(1).I(1) + P(2).I(2) + ... + P(M).I(M) [bits/simb.] H(X) = P(i).I(i) [bits/simb.]
i =1 M
(5.4) (5.5)
(5.6)
O nome "Entropia da Fonte" foi dado em funo de uma srie de analogias, exploradas por diversos autores sobre o tema, entre esta funo e a funo de mesmo nome da Termodinmica. Caso de particular interesse para este estudo, que descreve na sequncia do texto a Codificao digital, a Entropia associada a uma fonte binria de comunicao. Para evitar confuso neste texto, cada um dos smbolos fsicos emitidos por uma fonte binria chamado de "binit" (ao invs de "bit", que a unidade de medida de informao). Para uma fonte binria, seja P(1)=p (probabilidade de emisso do binit "Zero") e P(2)= 1-p (probabilidade de emisso do binit "Um"), teremos ento a partir da Eq. (5.6), H.Bin = H(X) = p.Log2(1/p) + (1-p).Log2(1/(1-p)) [bits/binit] (5.7)
A Figura 5.2. a seguir traz o grfico de H.Bin versus p. Observe que quanto mais p se aproxima de 0 (zero) ou 1 (um), significando que a fonte binria emite quase que na totalidade dos eventos o binit "Um" ou o binit "Zero", a quantidade mdia de informao emitida H.Bin tende a zero. Este resultado esperado, visto que se temos certeza de que a fonte sempre emitir um certo binit, no h informao transmitida na emisso de smbolos. Da mesma forma, observa-se que quanto mais equiprovvel for a emisso do binit "Zero" e do binit "Um" (p=0,5), a Entropia tender a seu valor mximo (1 bit/binit). De outra maneira pode-se dizer que quando aumenta o grau de "baguna" de emisso de smbolos (passam a ser equiprovveis) a Entropia da Fonte atinge o seu mximo. Esta ltima acertiva serve para justificar o nome "Entropia" a H(X), se considerado que em um sistema termodinmico, quanto maior a Entropia, maior ser o "grau de baguna deste".
Figura 5.2 - Evoluo da Entropia de uma Fonte Binria Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 19
FAAP - FACULDADE DE ENGENHARIA possvel demonstrar, generalizando o estudo de fontes binrias, que a funo entropia, 0 H(X) Log 2 (M) A relao (5.8) vlida para uma fonte M-ria qualquer. (5.8)
Fonte Discreta M-ria Codificador Binrio Canal (Digital) Decodificador Binrio Receptor
BINITS
MENSAGENS OU SMBOLOS
Canal - possui certa Capacidade de envio de Binits por intervalo de tempo [binits/s] Devemos maximizar o possibilidade de envio de informaes [bits/s] atravs do Canal com uma Codificao Eficiente Cod/Decod - no podem nem criar, nem destruir informaes R = r.H(x) = rb.H.bin <= rb [bits/s] Nmed ( = rb/r) >= H(X)
Considerando que a fonte emita smbolos a uma taxa de r [simb./s], ento a taxa R de emisso de informaes ser, R = r. H(X) [bits/s] (5.9)
Considerando que o codificador binrio emita binits a uma taxa rb [binits/s], ento a taxa Rb de emisso de informaes pelo codificador ser, Rb = rb. H.Bin [bits/s] (5.10)
Como o codificador deve trabalhar sem criar ou destruir informaes, pode-se dizer que a quantidade de informaes que entram no codificar em um certo intervalo de tempo "T" tem que ser igual a quantidade de informaes que saem neste mesmo intervalo, r. H(X).T = rb.H.Bin.T [bits] (/T) r. H(X) = rb. H.Bin [bits/s] (5.11)
Da Figura 5.2 observamos que H.Bin sempre menor ou igual a 1 (um), o que permite rescrever a Eq. (5.11) como, r.H(X) = rb.H.Bin rb [bits/s] (5.12)
Dividindo a Eq. (5.12) por r, o observando que rb/r [binits/simb.] eqivale a quantidade mdia de binits codificados pelo codificador para cada smbolo emitido pela fonte, ou simplesmente Nmed, podemos escrever, H(X) Nmed (5.13)
A Eq. (5.13) diz que a entropia da fonte emissora do alfabeto simblico "X" sempre o limite inferior para o tamanho mdio em binits (Nmed) dos smbolos gerados pelo bloco codificador para cada smbolo emitido. Por outro lado, observe que, dado um canal digital que possui uma certa capacidade de transmisso medida em binits/s, o quanto menor for o Nmed do codificador, mais este otimizar a emisso de informao ou a emisso de smbolos da fonte atravs deste canal. Diz-se nestas condies que o codificador "eficiente". Dividindo a Eq. (5.13) por Nmed, podemos definir ento a eficincia de uma certa codificao, Ef.cod = H(X)/Nmed = R/rb 1 (5.14)
Observe na Eq. (5.14), que quanto mais Nmed ! H(X), maior ser a eficincia de codificao (Ef.cod ! 1) e mais R ! rb, maximizando a taxa de envio de informaes como explicado anteriormente. O Nmed pode ainda ser calculado atravs da quantidade de binits que o codificador utiliza para cada smbolo emitido pelo fonte (N(1) para X1, N(2) para X2, etc.). Ento, Nmed = N(1).P(1) + N(2).P(2) + ... + N(m).P(m) =
A busca de cdigos eficientes trabalhada pelo "Teorema da Codificao das Fontes de Shannon", que afirma que dado um certo sempre possvel encontrar um cdigo unicamente dicifrvel, isto , que no crie e nem destrua informaes geradas pela fonte, que satisfaa a relao, H(X) Nmed H(X) + (5.16)
Para que seja possvel adquirir algum sentimento sobre a Eq. (5.16), basta rescrever a mesma observando as Eq.s (5.15) e (5.6),
I(i).P(i)
i =1
N(i).P(i) I(i).P(i) +
i =1 i =1
(5.17)
Observe que se considerarmos =1, admitindo que possvel escolher para cada smbolo Xi um cdigo N(i) (com um nmero inteiro de binits) entre I(i) e I(i)+1 (observe que a quantidade de informao em bits de um certo smbolo no necessariamente um nmero inteiro) e tomando a somatria para os M smbolos, chegaremos a inequao (5.16). Simplificadamente eqivale a dizer que smbolos que ocorrem com freqncia elevada (ou I baixo) em uma fonte devem ser codificados com um nmero de binits menor (N menor) do que aqueles smbolos que ocorrem com uma freqncia mais baixa, se quisermos otimizar a capacidade de transmisso de informao do canal de comunicao. Este conceito foi utilizado por Samuel Morse para gerar a codificao que levou o seu nome (cdigo Morse) e foi obtida pelo mesmo atravs da contagem de ocorrncia (freqncia) de Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 22
FAAP - FACULDADE DE ENGENHARIA letras em uma folha escrita em ingls, escolhida aleatoriamente numa pilha de papel. Os exemplos de casos que so desenvolvidos na seqncia deste material ajudam a solidificar os conceitos apresentados nesta seo. Outro aspecto de igual importncia garantir que os cdigos construdos pelo codificador sejam unicamente decifrveis, para que a informao possa ser recuperada corretamente pelo decodificador. Um dos testes utilizados para tal a desigualdade de Kraft, que condio necessria a ser obedecida pelos codificadores para que exista a decifrabilidade nica.
M
K = 2 N (i ) 1
i =1
(5.18)
A Tabela 5.1 abaixo oferece um exemplo de teste da desigualdade de Kraft. Smbolo Cdigo 1 Cdigo 2 A 1 000 B 0 001 C 10 010 D 11 011 E 100 100 Kcdigo 1,625 0,625 Tabela 5.1 - Exemplo de aplicao de desigualdade de Kraft Neste exemplo observa-se que o cdigo 1, embora possua cdigos de tamanho menor do que o cdigo 2 para smbolos respectivos, no respeita a desigualdade de Kraft, no sendo unicamente dicifrvel portanto. Basta tambm observar que a codificao de um D, poder ser interpretada pelo decodificador como AA ou D, no existindo unicidade no processo de codificao e decodificao. A seguir so apresentados os processos construtivos dos Cdigos eficientes de ShannonFano e de Huffman, bastante usados na prtica.
FAAP - FACULDADE DE ENGENHARIA Um cdigo fonte de comprimento varivel C mapeia cada letra fonte x de um alfabeto fonte X em uma string C(x), chamada de palavra cdigo, de comprimento l(x). Por exemplo, um cdigo para o alfabeto X = {a, b, c} pode ser dado por, C (a) = 0 C (b) = 10 C (c) = 11 Assume-se que as palavras cdigo de um cdigo fonte de comprimento varivel so transmitidas como uma seqncia continua de bits sem nenhuma demarcao de incio e fim de cada uma (i.e. sem vrgulas). O decodificador da fonte deve determinar onde esto os limites ou fronteiras; isto denominado "parsing" (do Ingls).
A condio "livre de prefixo" garante que cada palavra cdigo corresponda a um ramo, porque um ramo intermedirio representa um "prefix" para qualquer ramo saindo dele. Note que a rvore da Figura 5.4 tem um ramo, correspondente string "100" que no representa uma palavra cdigo. A rvore nos mostra que a palavra cdigo para "c" pode ser diminuda para "10" sem destruir a propriedade de "prefix-free", como mostrado na Figura 5.5.
b 1 0 1 0 a c a!0 b ! 11 c ! 10
Figura 5.5: rvore de cdigos binrios para um cdigo "prefix-free" mais eficiente. A rvore do cdigo de "prefix-free" ser denominada "full", ou cheia, se todos os ramos correspondem a palavras de cdigo. Assim, a rvore da Figura 5.4 no cheia, mas a da Figura 5.5 . Como visto neste exemplo, uma rvore que no cheia pode sempre ser encurtada para uma rvore cheia mais eficiente.
bb b c a aa
Figura 5.6: rvore de cdigos binrios para duas palavras cdigo. Para ver intuitivamente porque a condio de "prefix-free" garante decifrabilidade nica, considere a rvore para a concatenao de duas palavras cdigo. Utilizando a rvore da Figura 5.5, obtm-se a esquematizada na Figura 5.6. A nova rvore foi formada simplesmente pelo transplante de uma cpia da rvore original para cada ramo desta original. Algum poderia imaginar que transplantes subsequentes para os ramos da Figura 5.6 para se obter uma rvore representando ainda mais palavras cdigo juntamente concatenadas. Est claro desta construo que cada seqncia de palavras cdigo encontrase em um n diferente na rvore e assim ser codificada em uma seqncia binria diferente, no importando quo longo o processo continue. Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 26
ba ab ac
bc cb cc ca
O algoritmo prov uma estrutura de rvore de codificao para assegurar decifrabilidade nica. aplicado o algoritmo para a fonte com M = 8 e H(X) = 2,15, cujas estatsticas esto listadas na Tabela 5.2.
Passos da Codificao
xi Pi A 0,50 B 0,15 C 0,15 D 0,08 E 0,08 F 0,02 G 0,01 H 0,01 H(X) = 2,15
1 0 1 1 1 1 1 1 1
2 0 0 1 1 1 1 1
3 0 1 0 1 1 1 1
0 1 1 1
0 1 1
0 1
Tabela 5.2: Codificao de Shannon-Fano O algoritmo de Shannon-Fano envolve uma sucesso de passos de "dividir" e "conquistar". Para o primeiro passo, desenha-se uma linha que divide os smbolos em grupos de dois, tais que as probabilidades dentro dos grupos sejam as mais aproximadas possveis; ento designa-se o dgito "0" para cada smbolo do grupo acima da linha e o dgito "1" para cada smbolo do grupo abaixo da linha. Para todos os passos subseqentes, deve-se subdividir cada grupo em subgrupos e novamente designar dgitos seguindo a regra anterior. Sempre que um grupo tiver somente um smbolo, como acontece nos passos primeiro e terceiro na Tabela, no d para seguir adiante com subdivises e a codificao para aquele smbolo estar completa. Quando todos os grupos tiverem sido reduzidos a um smbolo, as codificaes sero dadas pelos dgitos designados lendo da esquerda para a direita. Um exame cuidadoso da Tabela 5.2 deve clarificar este algoritmo. A codificao de Shannon-Fano resultante neste caso tem N = 2,18 , ento a eficincia de 2,15/2,18 99%. Assim, se a taxa de smbolo r = 1000, ento rb = N r = 2180 binits/seg um pouco maior que R = rH(X) = 2150 bits/seg. Como comparao, um cdigo de comprimento fixo necessitaria de N = log 8 = 3 e rb = 3000 binits/seg. Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 27
interessante saber a codificao tima da fonte que minimiza L mdio (L o nmero de bits codificados) para uma dada fonte. A resposta a codificao de Huffman. Por convenincia todos os smbolos so listados verticalmente em ordem decrescente de probabilidade. Supe-se que os smbolos so as oito palavras Inglesas "the", "man", "to", "runs", "house", "likes", "horse", "sells", que ocorrem independentemente com probabilidades de terem sido escolhidas, ou de aparecer, como listado na Tabela 5.3.
A Figura 5.7 mostra como se pode construir a codificao eficiente palavra por palavra. As palavras so listadas esquerda, e as probabilidades esto entre parnteses. Ao construir o cdigo, primeiro encontram-se as duas menores probabilidades, 0,02 (sells) e 0,03 (horse), e desenham-se linhas ao ponto marcado 0,05, a probabilidade de se ter ou "horse" ou "sells". Ento passa-se a desconsiderar as probabilidades individuais conectadas pelas linhas e procuram-se pelas duas menores probabilidades, que so 0,04 (like) e 0,04 (house). Desenham-se linhas para a direita ao ponto marcado com 0,08, que a soma de 0,04 e 0,04. As duas menores probabilidades restantes so agora 0,05 e 0,08, ento uma linha para a direita desenhada conectando a elas, para dar um ponto marcado 0,13. Procede-se assim at que as linhas formem caminhos de saindo de cada palavra at um ponto em comum direita, o ponto marcado 1,00. Agora cada trilha da parte de cima indo para a esquerda de um ponto rotulada de "1" e cada uma da parte de baixo, de "0". O cdigo para uma dada palavra ento a seqncia de dgitos encontrados caminhando para a esquerda do ponto em comum 1,00 at a palavra em questo. Os cdigos esto listados na Tabela 5.4.
Cdigo 1 001 011 010 00011 00010 00001 00000 Tabela 5.4
Na Tabela 5.4 mostrado no somente cada palavra e seu cdigo mas tambm a probabilidade de cada cdigo e o nmero de dgitos em cada cdigo. A probabilidade de uma palavra vezes o nmero de dgitos no cdigo d o no. mdio de dgitos por palavra em uma longa mensagem devido ao uso daquela palavra em particular. Se os produtos das probabilidades e os nmeros de dgitos para todas as palavras so adicionados, o nmero mdio de dgitos por palavra obtido, que resulta em 2,26. Isto um pouco maior que a entropia por palavra, que encontramos ser 2,21 bits por palavra, mas um nmero menor de dgitos do que os 3 dgitos por palavra que se teria utilizado meramente fosse designado um cdigo de 3 dgitos qualquer para cada palavra. No somente pode ser provado que esta codificao de Huffman a mais eficiente para codificar um conjunto de smbolos tendo diferentes probabilidades, tambm pode ser provado que ela requisita menos que um dgito binrio por smbolo que a entropia (no exemplo acima, a codificao pede por apenas 0,05 dgitos binrios extras por smbolo.)
FAAP - FACULDADE DE ENGENHARIA de codificadores eficientes no justificvel. Esta situao bem pouco eficiente do ponto de vista de codificao, uma vez que a emisso simblica utiliza um alfabeto de somente 8 smbolos e os mesmos no possuem freqncias de ocorrncia iguais (gerando H(X)=2,18 bits/Simb). Este padro de codificao, com Nmed de 8 binits/simb, possui uma baixa eficincia (aprox. 27%, segundo a Eq. (5.14)) e no otimiza a velocidade de envio de informaes pelo canal, de aprox. 139 Kbits/s, calculada usando as Eq.s (5.9), (5.11) e (5.12). Uma segunda abordagem para a transmisso de smbolos, emitir para o canal digital os oito smbolos possveis com uma codificao binria simples, mais compacta que o ASCII (Nmed = 3 binits/simb.). Esta situao mais eficiente eficiente que o primeiro caso analisado do ponto de vista de codificao, com uma eficincia de aprox. 73%, melhorando a velocidade de envio de informaes pelo canal, para aprox. 372 Kbits/s, calculada usando as Eq.s (5.9), (5.11) e (5.12). J para as opes trs e quatro, utilizam-se tcnicas de codificao eficiente dos smbolos (Huffman e Shannon-Fano), que levam em considerao o aspecto de que smbolos que ocorrem muito freqentemente (como o A, e que transmite baixa quantidade de informao) devem ser codificados com um nmero baixo de Binits, se se quer aproximar as relaes descritas na Eq. (5.17). Observe que a eficincia destas codificaes de 98% (quase uma codificao tima, onde a relao H(X)/Nmed = 1), o que eleva bastante a taxa de emisso de informao ao canal (aprox. 504 Kbits/s), tornando o processo de comunicao bem mais eficiente. Pelo aspecto curioso de se estar trabalhando com um Computador, em que os smbolos so codificados tipicamente com ASCII, existe a sensao de que os mesmos so emitidos ao canal numa taxa (em binits ASCII/ s) muito maior (1853 Kbps) que a Capacidade do Canal (512 Kbps). Pode-se ainda calcular o que comercialmente se chama de "Compresso de Dados", relacionando as duas velocidades enxergadas (3,6:1). Vale alertar que, embora este termo seja muito usado comercialmente para softwares e hardwares de codificao eficiente de arquivos e dados respectivamente, ditos "Software ou Hardwares de Compresso", sob a Luz da Teoria da Informao, s estariam habilitados a serem chamados de "Compressores" aqueles dispositivos que se utilizam de algoritmos preditores capazes de reduzir a redundncia das informaes, devido ao efeito de memorizao de fontes.
Smbolo
Frequncia
Codificao ASCII
A B C D E F G H
Anlise:
H(X) [bits/simb] Nmed [binits/simb] Eficincia Cdigo (%) Tx. Envio Simbolos - r [KSimb.s/s] Tx. Envio de Informao - R [Kbits/s] Vel. Equivalente "ASCII" [Kbinits/s] Taxa de "Compresso" do Canal vista pela Fonte 2,177 8,00 27,21 64,00 139,32 512,00 1,00 3,00 72,56 170,67 371,51 1365,33 2,67 2,21 98,50 231,67 504,32 1853,39 3,62 2,21 98,50 231,67 504,32 1853,39 3,62
O Matlab uma marca registrada. Software de Simulao com direitos reservados a MathWorks Inc..
Figura 5.8 - Programa de Simulao do Codificador Adaptativo usando o Algoritmo Eficiente de Shannon-Fano para uma Fonte Discreta capaz de emitir 6 smbolos Os smbolos emitidos pela fonte (total de 6) so gerados pseudo-aleatoriamente (matriz "O" do algoritmo) com a frequncia (probabilidade) especificada no vetor "PS" de inicializao do algoritmo. Esta tabela de frequncias acumulativas (matriz "P" no algoritmo), neste exemplo didtico para anlise, atualizada a cada emisso de novo smbolo pela fonte (na prtica isto no ocorre, mas sim a cada bloco de N emisses, pois demandaria a alocao de uma parte da banda de comunicao no canal entre o codificador e decodificador excessivamente grande, para que os mesmos pudessem controlar a atualizao e a sincronizao de suas tabelas de codificao/decodificao eficientes). A cada atualizao da tabela, o codificador executa o algoritmo de Shannon-Fano para determinar qual a melhor codificao eficiente que maximizar e emisso de informao entre a fonte emissora e receptor, adaptando sua codificao iterativamente (representada no algoritmo pela multiplicao da matriz "BI" com a matriz "P" e a determinao da codificao que gera o Menor Nmed). As figuras 5.9 a 5.12, mostram o resultado da simulao para as Cdigo da Disciplina: 1EO545 - Engenharia de Software e Proc. Digital de Sinais 32
FAAP - FACULDADE DE ENGENHARIA freqncias de emisso de smbolos especificadas. Em duas figuras so executadas vrias repeties do algoritmo (40) para que se obtenha a tendncia estatstica de funcionamento do Codificador e do Decodificador (calculadas no algoritmo atravs dos vetores "HEM" e "NE" e controladas pela varivel "simula").
Figura 5.9 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,9; 0,02; 0,02; 0,02; 0,02; 0,02}. A Execuo da Adaptao do Codificador repetida 40 vezes e os valores mdios estatsticos so apresentados.
Figura 5.10 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,9; 0,02; 0,02; 0,02; 0,02; 0,02}. A Execuo da Adaptao do Codificador repetida somente 1 vez.
Figura 5.11 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,3; 0,3; 0,1; 0,1; 0,1; 0,1}. A Execuo da Adaptao do Codificador repetida 40 vezes e os valores mdios estatsticos so apresentados.
Figura 5.12 - Evoluo do Nmed e H(X) visto pelo Codificador para fonte emissora de 6 smbolos com freqncias {0,3; 0,3; 0,1; 0,1; 0,1; 0,1}. A Execuo da Adaptao do Codificador repetida 1 vez Observando os 4 grficos apresentados, podem ser efetuadas as seguintes anlises: Os mesmos sempre iniciam (para nmero de emisses de smbolo igual a 1) com Nmed=1 e H(X)=0, visto que quando somente 1 smbolo emitido, o codificador assume que a probabilidade de emisso do mesmo 1 (gerando H(X)=0) e codifica o mesmo com 1 binit. Existe sempre uma diferena entre o Nmed obtido pelo codificador e H(X), em obedincia a Eq. (5.13) calculada. Caso o codificador conseguisse o caso particular Nmed=H(X), diz-se que o mesmo obteve uma codificao tima (sua Eficincia, em acordncia com a Eq. (5.14) seria de 100% e R = rb, com a mxima transferncia de informao possvel igual a taxa de emisso de binits no Canal). Como o processo de codificao de Shannon-Fano subdivide o conjunto simblico em duas parties sucessiva e recursivamente, s existe a possibilidade deste cdigo gerar uma codificao tima quando o nmero de smbolos for uma potncia de 2 e quando as freqncias de ocorrncia so representadas por inversas de potncia de dois (nestas condies). Mesmo no obtendo uma codificao tima, o Nmed deste codificador bem melhor que o de uma codificao binria simples, que geraria Nmed=3 binits, possuindo uma eficincia de codificao maior que esta Segunda (H(X)/Nmed). Pelos grficos 5.9 e 5.11, observa-se que quanto menor a Entropia da fonte (maior a tendncia de emisso de certos smbolos), mais iteraes/emisses de smbolos so necessrias para que o algoritmo tenha convergncia e estabilize em um Nmed
FAAP - FACULDADE DE ENGENHARIA eficiente (50 iteraes na figura 5.11 e 100 iteraes na figura 5.9 aproximadamente). De uma forma genrica, quanto maior o nmero de smbolos e menor for a entropia da fonte, mais iteraes sero necessrias para depurar os valores de freqncia de emisso de smbolos individualmente e fazer com que Nmed ! Nmed eficiente. Observe que embora a tendncia estatstica observada nos grficos das figuras 5.9 e 5.11 indiquem nestes exemplos que existe convergncia em 100 e 50 emisses de smbolos em mdia respectivamente, se forem tomados os grficos de simulao individual das figuras 5.10 e 5.12, verifica-se que pode ser necessrio um nmero de iteraes (emisses) bem mais elevado para convergncia (aproximadamente 500 e 350 respectivamente).
s s s
Software Definio, Caractersticas, Aplicaes Evoluo Problemas Atuais do Software Mitos do Software Engenharia de Software e Verdades
Software
Aspectos Histricos:
Dcada 50 a 70: Hardware era o foco principal do desenvolvimento computacional
Atualmente:
Hardware visto como Commodity Desafio: reduzir os custos de implementao do Software e a qualidade Melhorar a Funcionalidade Tornar o Software mais Amigvel
Definio - Dicionrio
No dicionrio possvel encontrar: Aquilo que pode ser executado por um equipamento (o hardware) Um produto comercializado que constitudo por um sistema de rotinas e funes
Do que constitudo?
1- INSTRUES (programas de computador) capazes de produzir a funo e o desempenho desejados
2 - ESTRUTURAS DE DADOS quando bem trabalhadas viabilizam adequadamente a informao que os programas manipulem
Caractersticas
1- desenvolvido e/ou projetado usando tcnicas de engenharia, no sendo manufaturado no sentido clssico
FAAP - FACULDADE DE ENGENHARIA 3- a maioria feita sob medida em vez de ser montada a partir de catlogos de componentes existentes (viso hardware em engenharia) reusabilidade de cdigo ... software
% Falhas
% Falhas
Alteraes
Curva Real
Curva Ideal
Cada falha ocasionada por um erro no projeto ou no processo de traduo (para o cdigo que executado) A Manuteno do software mais complexa do que a do hardware
FAAP - FACULDADE DE ENGENHARIA Onde encontrar a falha de Hw? Conceito de permetro Onde encontrar a falha de Sw? O que testar? O que validar?
ALGORITMO - Aplicvel a todo problema onde um conjunto previamente de passos e/ou procedimentos tiver sido definido - o que chamamos de algoritmo! Exceto IA - A ltima definio vlida com exceo de Softwares de Inteligncia Artificial - como por exemplo Sistemas Especialistas ou Sistemas Tutores Inteligentes.
Software - Classificao
SOFTWARE BSICO coleo de programas escritos para apoiar outros programas. Forte interao com o hardware
SOFTWARE DE TEMPO REAL software que monitora, analisa e controla eventos do mundo real
folha de pagamentos, contas a pagar e a receber, ... ERPs: SAP, Microsiga, ...
anlise de estruturas, anlise de processos qumicos, astronomia, anlise de fadiga de aeronaves, projeto CAD, ...
SOFTWARE EMBUTIDO usado para controlar produtos e sistemas para os mercados industriais e de consumo
Evoluo Histrica
Hardware
Primeiros Prottipos - 1930
Dispositivos de Estado Slido
s
Dcada de 1950 - Computadores de Von Neumann Dcada 1960 - Crebros eletrnicos (main frames) Dcada 1970 - Inveno do CI - Incio da Computao Pessoal Dcada de 1980 - Exploso da Computao Pessoal Dcada de 1990 - Exploso das Redes de Computadores Dcada de 2000 - Otimizao!
Software
1950
1960
1970
1980
1990
2000
Fase 1965 - 75: Sistemas Multiusuros e Multiprogramao Tcnicas interativas com usurios Sistemas de tempo real - cho de fbrica SGBDs - 1.a Gerao Software como Produto - Software Houses Cresce nmero de sistemas - Manuteno difcil! ..... PROBLEMAS!
Fase 1975 - 90: SDs Hw de baixo custo Redes de Computadores - LAN, MANs e WAN Popularizao do uso de microprocessadores produtos inteligentes Consumo!
Fase Atual: IA - Inteligncia Artificial Sistemas Especialistas, Redes Neurais, ... OO - Orientao a Objetos Computao Paralela - Concentrada e Distribuda em Rede
dedicado tempo para coleta de dados do processo de desenvolvimento de software so feitas grosseiramente, com resultados ruins prazos no so cumpridos indicadores de produtividade
Estimativas Os
Sem
2- A produtividade de pessoas envolvidos com software no tem acompanhado a demanda por seus servios
Os projetos de desenvolvimento so tipicamente iniciados apenas com um vago indcio das exigncias do cliente Comunicao Cliente-Desenvolvedor fraca
No utilizao de tcnicas de teste - sistemticas e completas S recentemente - conceitos quantitativos slidos - Garantia de Qualidade de SW
4- O software existente muito difcil de manter A atividade de manuteno tem custos muito elevados A facilidade de manuteno no foi enfatizada como um critrio importante
Que problemas citados sejam corrigidos Necessria abordagem de engenharia de software e uso dissiminado de tcnicas e ferramentas
PRPRIO CARTER DO SOFTWARE (INTRINSECO) FALHAS DAS PESSOAS RESPONSVEIS PELO DESENVOLVIMENTO DE SOFTWARE MITOS DO SOFTWARE
PRPRIO CARTER DO SOFTWARE (INTRINSECO) O software um elemento de sistema lgico e no fsico. Consequentemente 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
FALHAS DAS PESSOAS RESPONSVEIS PELO DESENVOLVIMENTO DE SOFTWARE Gerentes - sem nenhum conhecimento bsico em software Profissionais de software - tm recebido pouco treinamento em novas tcnicas para o desenvolvimento de software Resistncia a mudanas!
MITOS DO SOFTWARE
Muitas causas esto localizadas na mitologia que apareceu durante a histria do desenvolvimento do Software Acabam por propagar desinformao e confuso Mitos - podem ser classificados como:
Mito: Meu pessoal tem ferramentas de desenvolvimento de software de ltima gerao; afinal compramos para eles os mais novos computadores. Realidade:
preciso mais do que computadores novos para se fazer um desenvolvimento de software de alta qualidade. Ferramentas CASE - de engenharia e software auxiliada por computador (ComputerAided Software Engineering) s vezes so mais importantes do que o hardware
Mito: Se ns estamos atrasados nos prazos, podemos adicionar mais programadores e tirar o atraso (conceito de hordas de mongis). Realidade: O desenvolvimento de software no um processo mecnico igual manufatura. Acrescentar pessoas em um projeto pode torna-lo ainda mais atrasado. Pessoas podem ser acrescentadas, mas de uma maneira planejada e bem coordenada!
Mito: Os requisitos de projeto modificam-se continuamente, mas as mudanas podem ser facilmente acomodadas, porque o software flexvel. Realidade: Requisitos podem ser modificados, mas o impacto varia de acordo com o tempo que introduzido (projeto e custo) Um mudana, quando solicitada tardiamente num projeto, pode ser mais do que a ordem de magnitude mais dispendiosa da mesma mudana solicitada nas fases iniciais
60 a 100 X
C u s t o 1X
1,5 a 6 X
Definio
Desenvolvimento
Manuteno
Mito: Assim que escrever o programa e o colocar em funcionamento meu trabalho estar completo.
Realidade: Os dados da indstria apontam que entre 50 e 70% de todo esforo gasto num programa so despendidos depois que ele for entregue pela primeira vez ao cliente
Mito: Enquanto o programa no estiver "funcionando", eu no terei realmente maneira alguma de avaliar sua qualidade.
Realidade: Mecanismo (Reviso Tcnica Formal) de garantia de qualidade de software deve ser aplicado desde o comeo do projeto Revises de software so um filtro de qualidade - descobre erros/defeitos
M administrao
Engenharia de Software
Engenharia de Software
Definio - F. Bauer,1969 O estabelecimento e uso de slidos princpios de engenharia para obter de forma economica um software que seja confivel e que funcione eficientemente em mquinas reais
Definio - IEEE A aplicao de uma abordagem sistemtica, disciplinada e quantificvel para o desenvolvimento, operao e manuteno do software e o estudo das abordagens para tal
Trabalha Mtodos, Tcnicas e Ferramentas para desenvolver e manter Softwares - com alta qualidade para soluo de problemas
MTODOS: Proporcionam os detalhes de como fazer para construir o software e envolvem um conjunto de tarefas amplo:
"
Planejamento e estimativa de projeto Anlise de requisitos de software Projeto da estrutura de dados Algoritmo de processamento Codificao Teste Manuteno
FERRAMENTAS: Fornecem suporte automatizado ou semi-automatizado aos mtodos. Ferramentas - para sustentar cada um dos mtodos CASE - Quando as ferramentas so integradas estabelecido um sistema de suporte ao desenvolvimento de software chamado - Computer Aided Software Engineering
" "
Seqncia - que os mtodos sero aplicados Produtos (deliverables) - exigidos que sejam entregues Controles - que ajudam assegurar a qualidade e coordenar as alteraes Marcos de referncia - possibilitam administrar o progresso do software
ENGENHARIA DE SOFTWARE: Compreende um conjunto de etapas que envolve: MTODOS, FERRAMENTAS e PROCEDIMENTOS.
"
MODELOS DE PROCESSO DE
Modelos de Processo
Modelo Sequencial (ciclo de vida clssico) Modelo de Prototipao Modelo RAD (Rapid Application Development) Modelos Evolutivos
Modelo de Desenvolvimento Concorrente Modelo de Montagem de Componentes Modelo de Mtodos Formais Tcnicas de 4.a gerao
Qualidade no Processo
Produto com Qualidade
Requisitos - Processo de Construo - Produto - Atendimento aos Requisitos
Adequao do modelo de processo aplicao Mtodos e ferramentas que sero utilizados Controles e produtos que precisam ser entregues Caractersticas dos processos: Produtividade, Custos, Qualidade, etc.
"
"
"
Engenharia de Sistemas
Anlise de Requisitos
Projeto
Manuteno
Teste
Codificao
ENGENHARIA DE SISTEMAS "Sw faz parte de um sistema mais amplo "Coleta de requisitos "Viso essencial - sempre que software faz interface com outros elementos (Hw, pessoas e BDs) "Tarefas: Identificao de necessidades dos usurios, executar a anlise econmica e tcnica, estabelecer restries de prazo e custo, modelo arquitetnico
" PRODUTO:
Especificao do Sistema
Primeiro passo tcnico do processo de engenharia de software Atividade de descoberta, refinamento, modelagem e especificao Escopo definido inicialmente refinado e aperfeioado em detalhes Mtodos: Anlise Estruturada, Anlise Orientada a Objetos, Mtodos Formais
"
"
"
"