engenharia de sistemas de computador

15
Engenharia de Sistemas de Computador A engenharia de sistemas de computador é uma atividade que visa solucionar problemas. O engenheiro de sistemas de computador começa com metas e restrições definidas pelo cliente e deriva uma representação da função, desempenho, interfaces, restrições de projetos e estrutura de informação que podem ser atribuídos a cada um dos elementos de sistemas genéricos. O engenheiro de sistemas deve definir o sistema ao identificar o escopo de função e desempenho que são desejados. Depois o engenheiro passa para a função que é chamada de alocação. Durante a alocação, uma função é designada a um ou mais elementos de sistemas genéricos ( isto é, hardware, software, pessoas, etc.). O engenheiro de sistemas não pergunta ao cliente como a tarefa deve ser feita e sim o que é exigido. A mesma função pode ser atribuída a diferentes elementos do sistemas. Para que se possa escolher a atribuição mais efetiva, um conjunto de critérios de compromissos deve ser aplicado em cada alternativa. Os critérios estão listados abaixo: Considerações de Projeto: A configuração pode ser construída dentro dos limites de prazo e de custo preestabelecidos? Qual é o risco associado às estimativas de custo e de prazo? Considerações de Negócio: A configuração representa a solução mais lucrativa? Em última análise, o retorno justificará os riscos de desenvolvimento? Análise Técnica: Existe tecnologia suficiente para desenvolver o sistema? A função e o desempenho estão assegurados? Qual é o risco associado à tecnologia?

Upload: praisler

Post on 16-Aug-2015

216 views

Category:

Documents


2 download

TRANSCRIPT

Engenharia de Sistemas de ComputadorA engenharia de sistemas de computador uma atividade que visa solucionar problemas. O engenheiro de sistemas de computador comea com metas e restries definidas pelo cliente e deriva uma representao da funo, desempenho, interfaces, restries de projetos e estrutura de informao que podem ser atribudos a cada um dos elementos de sistemas genricos. O engenheiro de sistemas deve definir o sistema ao identificar o escopo de funo e desempenho que so desejados. epois o engenheiro passa para a funo que chamada de alocao. urante a alocao, uma funo designada a um ou mais elementos de sistemas genricos ! isto , hard"are, soft"are, pessoas, etc.#. O engenheiro de sistemas no pergunta ao cliente como a tarefa deve ser feita e sim o que e$igido.A mesma funo pode ser atribuda a diferentes elementos do sistemas. %ara que se possa escolher a atribuio mais efetiva, um conjunto de critrios de compromissos deve ser aplicado em cada alternativa. Os critrios esto listados abai$o&Consideraes de Projeto: A configurao pode ser construda dentro dos limites de pra'o e de custo preestabelecidos( )ual o risco associado *s estimativas de custo e de pra'o(Consideraes de Negcio: A configurao representa a soluo mais lucrativa( +m ,ltima an-lise, o retorno justificar- os riscos de desenvolvimento(Anlise Tcnica: +$iste tecnologia suficiente para desenvolver o sistema( A funo e o desempenho esto assegurados( )ual o risco associado * tecnologia(Avaliao da Manufatura: As facilidades e os equipamentos esto disponveis( A garantia da qualidade pode ser adequadamente reali'ada(Questes u!anas: +$iste pessoal treinado * disposio para o desenvolvimento e produo( O cliente entende o que o sistema vai reali'ar("nterfaces A!#ientais: A configurao proposta tem uma interface adequada ao ambiente e$terno do sistema( As comunicaes m-quina.m-quina e humano.m-quina so tratadasde maneira inteligente(Consideraes $ur%dicas: +sta configurao introdu' riscos de responsabilidade por atos ilcitos( Os aspectos propriet-rios !patentes# podem ser adequadamente protegidos(A aplicao de critrios de compromissos resulta na escolha de uma configurao de sistema determinada e na especificao da funo e do desempenho atribudos ao hard"are, soft"are, pessoas, banco de dados, documentao e procedimentos. Hardware e Engenharia de HardwareO engenheiro de sistemas de computador escolhe certa combinao de componentes de hard"are que compreenda um elemento do sistema baseado em computador. O processo de engenharia de hard"are pode ser visto em tr/s fases& planejamento e especificao0 projeto e prototipao0 produo, distribuio e servio de campo.A primeira fase da engenharia de hard"are inclui o planejamento de desenvolvimento e a an-lise de requisitos de hard"are. O planejamento de desenvolvimento reali'ado com a finalidade de estabelecer o escopo do esforo de hard"are. +m seguida, estabelecido um roteiro para o projeto e implementao de hard"are. A an-lise de requisitos de hard"are reali'ada com a finalidade de especificar os requisitos funcionais, de interface e de desempenho precisos para todos os componentes do elemento hard"are. 1estries de projeto e critrios de teste so estabelecidos. Os requisitos so analisados e uma configurao de hard"are preliminar projetada. 1evises tcnicas so levadas a efeito * medida que o projeto evolui para desenhos de engenharia detalhados. 2m prot3tipo testado para que se tenha a garantia de que ele satisfa' todos os requisitos. +ste prot3tipo freq4entemente apresenta pouca semelhana com o produto manufaturado. %ortanto, as especificaes de manufatura so derivadas. A terceira fase da engenharia de hard"are fa' poucas e$ig/ncias diretas ao engenheiro de projetos, mas pe * prova as habilidades do engenheiro de produo. Antes que se inicie a produo, mtodos de controle da qualidade devem ser estabelecidos e um mecanismo de distribuio do produto deve ser definido.Software e Engenharia de Software

A engenharia de soft"are uma disciplina para o desenvolvimento de soft"are de alta qualidade para sistemas baseados em computador. %assos genricos da engenharia de soft"are&Fase de Definio: A fase de definio da engenharia de soft"are, inicia.se com a etapa de planejamento de soft"are. O prop3sito dessa etapa fornecer uma indicao preliminar da viabilidade do projeto em relao *s restries decusto e de pra'o que possam j- ter sido estabelecidas. 2m %lano de %rojeto de 5oft"are produ'ido e revisado pelo gerente de projetos. A etapa seguinte da fase de definio a analise e definio dos requisitos de soft"are. +sta etapa desenvolvida juntamente com o cliente. 2ma +specificam dos 1equisitos de 5oft"are !ou, em lugar da especificao, um prot3tipo de soft"are# feita pelo desenvolvedor do sistema e do cliente.Fase de Desenvolvimento: 6radu' um conjunto de requisitos num elemento de sistema operacional que se chama soft"are. O engenheiro de soft"are no deve se esforar para conseguir um compilador. O projeto deve ser reali'ado primeiro. O processo de projeto do soft"are inicia.se com a descrio da arquitetura e de dados. 7ritrios de projeto so usados para avaliar a qualidade. A codificao . a gerao de um programa usando.se uma linguagem de programao adequada ou uma ferramenta 7A5+ !7omputer.Aided 5oft"are +ngineering# . ocorre depois que o projeto concludo. A engenharia de soft"are considera a boa codificao como uma conseq4/ncia de um bom projeto.Fase de Verificao, i!erao e "anuteno: O engenheiro de soft"are para descobrir o n,mero m-$imo de erros antes da entrega, prepara o soft"arepara liberao e depois fa' a manuteno do soft"are ao longo de sua vida ,til. Fatores Humanos e Engenharia Humana 2m sistema baseado em computador quase sempre tem um elemento humano. 2ma pessoa pode interagir diretamente com o hard"are e o soft"are,reali'ando um di-logo que direcional a funo do sistema0 em todos os casos, as pessoas so respons-veis pelo desenvolvimento e manuteno do sistema. A engenharia humana para sistemas baseados em computador reconhecida como uma etapa importante no desenvolvimento de sistemas. +la uma atividade multidisciplinar que aplica conhecimentos derivados da psicologia e da tecnologia para especificar e projetar uma 879 !9nterao 8omem.7omputador# de alta qualidade. O processo de engenharia humana envolve os seguintes passosn$lise de #tividade: 7ada atividade que foi atribuda ao elemento humano avaliada no conte$to da interao e$igida com outros elementos.#n$lise Sem%ntica e &ro'etos: O significado preciso de cada ao e$igida dousu-rio e produ'ida pela m-quina definido. A ideali'ao de um :di-logo: que comunique a sem;ntica adequada estabelecida.&ro'eto Sint$tico e ()ico: A forma especfica das aes e comandos identificada e representada. 7om isso, a e$ecuo de cada ao ou comando do hard"are ou soft"are projetada.&ro'eto de #m!iente do *su$rio: O hard"are, o soft"are so combinados para formar um ambiente do usu-rio.&rototipao: %ossibilita que a 879 seja avaliada a partir de uma perspectiva humana, usando.se a participao ativa e no a avaliao passiva. A prototipao resulta na avaliao e na aplicao iterativa de todos os passosde engenharia humana citados acima. +anco de Dados e Engenharia de +anco de DadosA engenharia de banco de dados uma disciplina tcnica que aplicada assimque o domnio da informao definido. %ortanto, o papel do engenheiro de sistemas definir as informaes a serem contidas no banco de dados, os tiposde &ueriesa serem submetidos a processamento, a maneira pela qual os dadossero acessados e a capacidade do banco de dados.

#n$lise de Sistemas< uma atividade que engloba a maioria das tarefas que chamamos coletivamente de engenharia de sistemas de computador. A an-lise de sistemas reali'ada com os seguintes objetivos em mente& =. identificar a necessidade do usu-rio0 >. avaliar a concepo do sistema quanto * sua e$equibilidade0 ?. e$ecutar an-lise econ@mica e tcnica0 A. atribuir funes ao hard"are, ao soft"are, *s pessoas, ao banco de dados e aos demais elementos do sistema0 B. estabelecer as restries de pra'o e de custo0 C. criar uma definio de sistema que constitua a base para todo o trabalho de engenharia subseq4ente.,dentificao da -ecessidade: O primeiro passo do processo de an-lise de sistema envolve a identificao da necessidade. O analista !engenheiro de sistemas# re,ne.se com o cliente e com o usu-rio final. A identificao da necessidade o ponto de partida na evoluo de um sistema baseado em computadores. %ara comear, o analista ajuda o cliente a definir as metas do sistemas !produto# & )uais informaes sero produ'idas( )uais informaes devem ser fornecidas( )ue funes e desempenho so e$igidos( As informaes reunidas durante a etapa de identificao das necessidades so especificadas num'ocu!ento Conceitual do (iste!a)Estudo da Via!ilidade: A viabilidade e a an-lise de riscos so relacionadas de muitas maneiras. 5e o risco do projeto for grande, a viabilidade de se produ'ir um soft"are de qualidade redu'ida. urante o trabalho de engenharia de sistema, entretanto, concentramos nossa ateno em quatro -reas de interesse fundamentais&*ia#ilidade +con,!ica: 2ma avaliao do custo de desenvolvimento confrontada com a renda ou benefcio ,ltimos derivados do sistema desenvolvido.*ia#ilidade tcnica: 2m estudo da funo, do desempenho e das restries que possam afetar a capacidade de se conseguir um sistema aceit-vel.*ia#ilidade -egal: 2ma determinao de qualquer infrao, violao ou responsabilidade legal que possa resultar do desenvolvimento do sistema.Alternativas: 2ma avaliao das abordagens alternativas ao desenvolvimento do sistema.A justificao econ@mica geralmente a considerao :prim-ria: para a maioria dos sistemas. A viabilidade tcnica a -rea mais difcil de ser avaliadanesta etapa do processo de desenvolvimento do sistema. O estudo da viabilidade deve resultar numa deciso de :prosseguirDno prosseguir:. #n$lise Econ.mica

+ntre as informaes mais importantes contidas num estudo de viabilidade encontra.se a an-lise custo.benefcio. A an-lise custo.benefcio dificultada por critrios que variam de acordo comas caractersticas do sistema a ser desenvolvido, pelo tamanho relativo do projeto e pelo retorno sobre o investimento esperado, desejados como parte doplano estratgico de uma empresa. Os benefcios de um sistema novo so sempre determinadas em relao ao modo de operao e$istente. 7omo e$emplo, consideremos um sistema 7A que substituir- elementos de um processo de projeto de engenharia manual. O analista de sistema deve definir as caractersticas mensur-veisdo sistema e$istente !projeto manual# e do sistema proposto !7A#. Ei$ando o tempo para produ'ir um desenho detalhado completo !t.dra"# como uma das muitas quantidades mensur-veis, o analista descobre que uma reduode A para = em termos de t.dra" se originar- do sistema 7A. t.dra", tempo mdio de desenho F A horas d, custo por hora de desenho F G>H,HH n, n,mero de desenhos por ano F I.HHH p, porcentagem de desenhos a ser feita no sistema 7A F CHJ7onhecendo.se os dados acima, uma estimativa das economias de custo anuais . o benefcio. pode ser determinada& +conomias de custo tempo de desenho F reduo $ t.dra" $ n $ c$ p F G KC.HHH por ano. O esforo gasto numa an-lise de viabilidade que resulte no cancelamento de um projeto proposto no um esforo perdido. #n$lise /(cnicaA an-lise tcnica inicia.se com uma avaliao da viabilidade tcnica do sistemaproposto. )uais tecnologias so e$igidas para e$ecutar a funo e odesempenho do sistema ( )uais materiais, mtodos, algoritmos ou processos novos so e$igidos e qual o risco de desenvolvimento do mesmo( 7omo essas questes tecnol3gicas afetaram o custo( As ferramentas disponveis para a an-lise tcnica derivam das tcnicas de modelagem e otimi'ao matem-ticas . probabilidade e estatstica, teoria das filas e teoria do controle. A modelagem !seja matem-tica ou fsica# um mecanismo efetivo para a an-lise tcnica de sistemas de computador. 2m modelo criado, tendo como base observaes do mundo real ou uma apro$imao baseada nas metas do sistema. Abai$o listado o conjunto de critrios para o uso de modelos durante a an-lise tcnica de sistemas& =. O modelo deve representar a din;mica da configurao do sistema que est- sendo avaliado de forma que seja bastante simples de se entender e manipular e, contudo, bastante pr3$ima da realidade operacional,a fim de produ'ir resultados. >. O modelo deve realar os fatores que so mais relevantes para o problema que se tem em mos e suprimir ! com discrio# aqueles que no so importantes. ?. O modelo ser abrangente ao incluir todos os fatores relevantes e ser confi-vel em termos de capacidade de repetir os resultados. A. O projeto do modelo deve ser simples o bastante para permitir uma implementao r-pida na soluo de problemas. 5e o modelo for grande e altamente comple$o, talve' seja apropriado desenvolver.se uma srie de modelos, onde a sada de um possa ser ligada * de outro. 6ambm, talve' seja desej-vel que se avalie um elemento especfico do sistema, independentemente dos demais elementos. B. O projeto do modelo deve incorporar facilidades de modificao eDou e$panso, para permitir a avaliao de fatores adicionais conforme o necess-rio.Os resultados obtidos da an-lise tcnica formam a base para outra deciso de prosseguirDno prosseguir com o sistema. #locao e Compromissos 0 /rade12ff3Assim que as questes relacionadas * tarefa de an-lise tiverem sido respondidas, solues alternativas sero consideradas. 7ada funo do sistema, com suas caractersticas de desempenho e interface e$igidas, atribuda a um ou mais elementos do sistema. 7ada configurao de sistema avaliada de acordo com um conjunto de :par;metros de avaliao: !critrios de compromisso.trade.off# que foram ordenados segundo sua import;ncia. +mgeral, os par;metros de avaliao so estimados em relao a fatores econ@micos."odelando a #r4uitetura do SistemaAssim que as funes de um sistema tiverem sido atribudas, o engenheiro de sistemas poder- criar um modelo que represente a inter.relao entre os elementos do sistema e constitua uma base para posterior an-lise de requisitos e para as v-rias atividades de projeto. A interface com o usu-rio e o processamento de manuteno e auto teste. Apesar de no estarem presentes em todos os sistemas, essas caractersticas adicionais so muito comuns, e a sua especificao fa' qualquer modelo de sistema tornar.se mais robusto.

Diagramas de #r4uitetura

%ara se desenvolver um modelo de sistema, um .adro de ar&uitetura usado. O engenheiro de sistemas atribui elementos de sistema a cada uma das cinco regies de processamento dentro de um padro& =. 9nterface com o usu-rio >. +ntrada ?. Euno e controle do sistema A. 5ada B. Lanuteno e AutotesteLais ou menos como todas as tcnicas de modelagem usadas na engenharia sesistemas e de soft"are, o padro de arquitetura possibilita que a analista crie uma arquitetura de detalhes. 2m diagra!a de conte/to da ar&uitetura !A7# reside no nvel superior da hierarquia. O diagrama de conte$to estabelece a fronteira de informao entre o sistema que est- sendo implementado e o ambiente em que o sistema vai operar. O A7 define todos os produtores e$ternos de informao usada pelo sistema, todos os consumidores e$ternos de informao criada pelo sistema e todas as entidades que se comunicam por meio da interface ou reali'am manuteno e autoteste. Os subsistemas principais ou m3dulos de sistema so definidos em um diagrama de flu$o da arquitetura !EA#, que derivado do diagrama de conte$to de arquitetura !A7#. O flu$o de informaes atravs das regies do A7 usado para orientar o engenheiro de sistemas no desenvolvimento do EA. 7ada subsistema pode conter um ou mais elementos do sistemas ! por e$emplo hard"are, soft"are, pessoas# conforme forem atribudos pelo engenheiro de sistemas.Especificao da #r4uitetura do SistemaOs subsistemas e as informaes que fluem entre eles podem ser especificadospelo trabalho de engenharia subseq4ente. A +s.ecificao do 'iagra!a de Ar&uitetura !+A# apresenta informaes sobre cada subsistema. A +A contm uma descrio . chamada narrativa modular do sistema . para cada subsistema. A narrativa modular do sistema descreve o que o subsistema fa', quais informaes ele processa e como ele mantm interface com outros subsistemas. Alm das narrativas, a +A contm um dicionrio da ar&uitetura 0 uma listagem de cada item de informao indicado nos EAs e sua descrio. A entrada final da especificao no diagrama de arquitetura o diagra!a de interligao da ar&uitetura !9A# e a correspondente descrio de interligao) As setas do EA indicam o flu$o de dados e de controle, sem descrever como o flu$o efetuado. O 9A e a correspondente especificao descrevem se a informao transferida eletronicamente !por e$emplo, por um bus, opticamente !por e$emplo, por uma cone$o 3ptica de largura de banca superior# ou mecanicamente !por e$emplo, usando uma ligao mec;nica#. %ara desenvolver o 9A, o engenheiro de sistemas deve tomar decises de implementao que cabem melhor ao projeto. "odelagem e Simulao de SistemasLuitos sistemas baseados em computador interagem com o mundo real reativa!ente. Ou seja, eventos do mundo real so monitorados pelo hard"are e soft"are que cont/m o sistema baseado em computador e, com base nesses eventos, sistema impe controle sobre as m-quinas, processos e at mesmo sobre as pessoas que fa'em o evento ocorrer. Os sistemas embutidos em tempo real freq4entemente caem na categoria dos sistemas reativos. Luitos sistemas da categoria reativa controlam m-quinas eDou processos !por e$emplo, avies comerciais de passageiros e refinarias de petr3leo# que devem operar com um grau de confiabilidade e$tremamente elevado. 5e o sistema falhar, perdas humanas ou econ@micas podem ocorrer. Atualmente, esto sendo utili'adas ferramentas 7A5+ para modelagem e simulao de sistemas a fim de ajudar a eliminar surpresas quando se constroem sistemas reativos baseados em computador. +ssas ferramentas so aplicadas durante o processo de engenharia de sistemas, enquanto o papel do hard"are e do soft"are, dos bancos de dados e das pessoas est- sendo especificado. Especificao do SistemaA +s.ecificao do (iste!a um documento que serve de base para a engenharia de hard"are, engenharia de soft"are, engenharia de banco de dados e engenharia humana. +la descreve a funo e o desempenho de um sistema baseado em computador e as restries que orientaro seu desenvolvimento. A especificao delimita cada elemento de sistema atribudo. %or e$emplo, ela fornece ao engenheiro de soft"are uma indicao do papel do soft"are dentro do conte$to do sistema com um todo e dos v-rios subsistemas descritos nos diagramas de flu$o de arquitetura. A especificao do sistema tambm descreve as informaes !dados e controle# que entram e saem do sistema. 5eviso da Especificao do SistemaA 1eviso da +specificao do 5istema avalia a e$atido da definio contida na +specificao do 5istema. A reviso condu'ida tanto pelo :desenvolvedor: do sistema como pelo cliente para garantir que & !=# o escopo do projeto foi corretamente delineado0 !># as funes, o desempenho e as interfaces foram adequadamente definidas0 !?# a an-lise do ambiente e dos riscos de desenvolvimento justificam o sistema0 !A# o :desenvolvedor: do sistema e o cliente tem a mesma percepo dos objetos do sistema.A reviso da especificao do sistema reali'ada em duas etapas. 9nicialmente, aplicado um ponto de vista administrativo. +m segundo lugar, reali'ada uma avaliao tcnica dos elementos e das funes do sistema.7onsideraes Administrativas& 2ma necessidade comercial s3lida foi estabelecida ( A justificao do sistema fa' sentido ( O ambiente !ou mercado# especificado precisa do sistema que foi descrito( )uais alternativas foram consideradas(7onsideraes sobre 1eviso 6cnica A comple$idade funcional do sistema est- de acordo com as avaliaes dos riscos de desenvolvimento, custo e pra'o ( a alocao de funes foi definida com detalhes suficientes( As interfaces com os elementos do sistema e com o ambiente foram definidas com detalhes suficientes(A engenharia de sistemas e$ige intensa comunicao entre o cliente e o analista. O cliente deve entender as metas do sistema e ser capa' de estabelece.las claramente. O analista deve saber quais perguntas fa'er, quais conselhos dar e qual pesquisa reali'ar. 7aso as comunicaes se interrompam nessa fase, o sucesso de todo o projeto estar- ameaado.