Exercícios resolvidos de Ian Sommerville, Software Engineering – 8th Edition indicados pelo Prof. Sérgio Gerreiro, resolvidos por !arra"ola e #élia $egina. %ctali&a'(es a a&l por )ictor *reire. Exercícios P+g.8 . - *a&endo referncia aos cstos do software indicados na sec'/o ..0, expli1e por1e é apropriado considerar 1e o software é mais 1e programas 1e s/o exectados por os s+rios 2nais de m sistema. $e1isitos 3 %r1itectra 3 4esenvolvimento 3 Implementa'/o 3 5estes 3 Implanta'/o 3 6anten'/o7Evol'/o 6anten'/o7Evol'/o 1e se veri2ca é 1e no processo de distri9i'/o do software, software, variando consoante o tipo de aplica'/o, é 1e as fases posteriores posteriores ao desenvolvimento, a valida'/o :integra'/o e testes; e a evol'/o, tm por ve&es m csto mais elevado do 1e a fase de desenvolvimento. desenvolvimento. <ando o software software desenvolvido é integrado nm sistema "+ existente, existente, a fase fase de integra'/o integra'/o e testes testes é extensa extensa e dispendiosa, dispendiosa, atingindo cerca de =>? dos gastos totais do processo de cria'/o do software. software. Igalmente dispendioso é o processo de evol'/o depois do software estar implementado e testado. Para ma aplica'/o com m longo tempo de vida, como sistemas de comando e controle 1e ser/o sados drante > anos o mais, os cstos de evol'/o provavelmente provavelmente chegar/o a @ o A ve&es o valor gasto para o desenvolvimento desse software. software. Sendo assim é correcto di&er-se 1e o processo de cria'/o de software incli toda a actividade 1e o envolve, o se"a, a especi2ca'/o, especi2ca'/o, o desenvolvimento, desenvolvimento, a valida'/o e a evol'/o, inclindo tam9ém toda a docmenta'/o associada a cada ma dessas fases. .B – <ais s/o as diferen'as diferen'as entre o desenvolvimento de m prodto de software genérico e mdesenvolvimento de m prodto de software personali&ado. Software genérico – <em prod& o software controla a especi2ca'/o, feitos para o mercado geral. Software C medida – <em compra o software controla a especi2ca'/o, feitos para m cliente especí2co. .0 - D parte dos desa2os de heterogeneidade, heterogeneidade, entrega r+pida e con2an'a, indi1e otros pro9lemas e desa2os 1e a engenharia de software provavelmente enfrentar+ no séclo B. Performance do software – :tili&a'/o de ferramentas case cria cFdigo n/o optimi&ado e menos e2ciente, novos algoritmos e lingagens mais e2ca&es para cria'/o de software; software; Escala9ilidade – modelos mais e2ca&es na escala9ilidade e manten'/o de pro"ectos de software cada ve& mais complexos e melhor retili&a'/o retili&a'/o de cFdigo. Evol'/o dos métodos de programa'/o. programa'/o. Ex. programa'/o estrtrada, programa'/o orientada a o9"ectos, H Segran'a Ergonomia do software – software cada ve& mais acessível a todos os tili&adores :Ex. tili&adores com de2cincias; Prod'/o de software com lingagem natral – acelera o processo de cria'/o de software possi9ilitando m nível m+ximo de a9strac'/o. 6elhores 6elhores e mais 2+veis agentes inteligentes para a"da no processo de cria'/o de software. Software amigo do am9iente :performance e ética am9iental; !erti2ca'/o dos engenheiros de software. !stos mais 9aixos na prod'/o de software, con"nto das medidas acima indicadas
.8 - 4iscta se os engenheiros pro2ssionais devem ser certi2cados do mesmo modo 1e médicos o advogados %9ordagem concordante $esponsa9ilidade e certi2ca'/o em +reas de conhecimento onde est/o s9"acentes riscos elevados, em vidas hmanas e em pre"í&osmateriais, da mesma forma 1e as ordens reglam otras +reas :cFdigo deontolFgico; onde esse mesmo risco existe medicina, direito, farm+cia, engenharia, etc. %9ordagem discordante J invi+vel limitar a cria'/o de software. !sto mais elevado do software. 4i2cldade a especi2car 1al software é de risco elevado e 1al n/o é, por exemplo, software de ma empresa afecta os KstaLeholdersM mas n/o dependem vidas deste directamenteH 1al o gra de riscoN, em compara'/o por exemplo no caso relativamente Cs drogas farmacticas existirem prodtos de livre tili&a'/o. nde se en1adra o software Kopen sorceMN Exercícios P+g.A B.A - Expli1e por 1e é importante prod&ir ma descri'/o completa de ma ar1itectra de sistema nma etapa inicial do processo de especi2ca'/o. Principalmente facilita o processo de gest/o do pro"ecto nos segintes pontos )ia9ilidade do pro"ecto e riscos em termos 2nanceiros, tecnolFgicos, de tempo e de recrsos hmanos e materiais ptimi&a'(es na gest/o do plano de distri9i'/o de recrsos hmanos e materiais no processo da cria'/o do software %"da na gest/o de KmilestonesM e plano de tra9alhos :tempo, recrsos e cstos; Sendo feito a"da a clari2car e avaliar o gra de importOncia de cada re1isito 6elhor docmenta'/o do pro"ecto, vital para a contina'/o do tra9alho em caso de mdan'a de recrsos hmanos e testes 6elhora da 1alidade do software em termos gerais %"da a especi2car as condi'(es do contrato com cliente B.8 - Expli1e por 1e os sistemas de legado :legac sstem; podem ser críticos C opera'/o de m negFcio. Sistema de legado Sistema sFciotécnico desenvolvido no passado, mitas ve&es comtecnologia "+ o9soleta. Gere ha9italmente sistemas críticos para a actividade. Englo9a o processo de negFcio, software aplicacional, software de apoio e hardware, portanto mitas ve&es a actividade de negFcio n/o pode ser efectada sem ele. Ex. Software de Secretaria Escolar s sistemas Qegac proporcionam servi'os essenciais ao negFcio mas, por1e inclem processos de negFcio, software aplicacional, software de apoio e sistemas de hardware, podem ser críticos no fncionamento de m negFcio por ser demasiado arriscado s9stití-los, visto 1e as políticas e procedimentos organi&acionais dependem destes sistemas. B.R – Expli1e por1e é 1e os sistemas herdados :legac sstems; podem
casar di2cldades para as companhias 1e dese"am reorgani&ar os ses processos de negFcio. !stos de desenhar m novo sistema s/o proi9itivos por casa do se tamanho, por ser monolítico o demasiado complexo sistema re1ere ma disponi9ilidade de >>?, n/o pode ser retirado de servi'o, e o csto de desenhar m novo sistema com ma taxa de disponi9ilidade é elevado sistema fnciona de forma poco clara. Essa sita'/o pode ocorrer 1ando os ar1itectos de sistema deixaram a organi&a'/o e o sistema n/o foi 9em docmentado o a docmenta'/o foi perdida s dados do sistema s/o de elevado gra de con2dencialidade :Ex. 4ados 6ilitares; csto de aprender a tili&ar o novo software é elevado em termos de tempo e csto :$ecrsos manos; $iscos na migra'/o dos dados B.> – <ais s/o os argmentos a favor e contra para considerar 1e a Engenharia de Sistemas é ma pro2ss/o no se prFprio direito como engenharia eléctrica o engenharia de software. % favor% Engenharia de Sistemas envolve as segintes disciplinas engenharia de softwareT engenharia electrFnicaT engenharia mecOnicaT ar1itectra de interface do tili&adorT ar1itectra de sistemasT engenharia eléctricaT engenharia civilT engenharia de estrtras. %ssim, veri2ca-se 1e Engenharia de Sistemas é ma pro2ss/o 1e recorre a variados conhecimentos de otras engenharias. !ompetncias diferentes, m engenheiro de software n/o tem todas as competncias de m engenheiro de sistemas e vice-versa, por1e apesar de ser englo9ado, existem aspectos técnicos especiali&ados, sen/o a9stractamente sem especiali&a'/o sF haveria engenheiros em cincias natrais. !ontra % engenharia de sistemas é ma actividade interdisciplinar 1e envolve e1ipas com diferentes forma'(es técnicas, por casa do amplo conhecimento exigido para considerar todas as implica'(es das decis(es referentes a pro"ectos de sistemas. s engenheiros de sistemas n/o se ocpam apenas com o software, mas com as interac'(es de software, hardware e sistema com os tli&adores e se am9iente. Eles devem pensar so9re os servi'os 1e o sistema fornece, as restri'(es, dentro dos 1ais o sistema deve ser constrído e operado e as interac'(es do sistema com o se am9iente. s engenheiros de software necessitam de ma compreens/o so9re a engenharia de sistemas, por1e os pro9lemas de ES, fre1entemente s/o o resltado da engenharia de sistemas. B. – Sponha 1e é m engenheiro relacionado com o desenvolvimento de m sistema 2nanceiro. 4rante a instala'/o desco9re 1e o sistema vai red&ir m nUmero signi2cativo de pessoas. %s pessoas envolvidas negam-lhe
acesso a informa'/o essencial para completar ainstala'/o do sistema. %té onde deveria, como engenheiro de sistemas, 2car envolvido nistoN J responsa9ilidade pro2ssional sa completar a instala'/o como estipla o contratoN 4evia simplesmente a9andonar o tra9alho até 1e a organi&a'/o tenha resolvido7classi2cado o pro9lemaN 4everia manter como o9"ectivo a concls/o do tra9alho contratado, respeitando todos os Om9itos legais e éticos no se desenvolvimento e tili&ando os canais prFprios e 9om senso para ar9itrar cada sita'/o. Exercícios P+g.R A.B – Expli1e por1e é 1e programas 1e foram desenvolvidos sando desenvolvimento evolcion+rio tendem a ser difíceis de manter. $e1erem constantes mdan'as aos re1isitos, actali&a'(es ao design, contínos processos de desenvolvimento e testes, o 1e leva a cstos elevados na sa manten'/o. %lém disso a evol'/o pode ser complicada de acompanhar para os gestores e tili&adores do software da organi&a'/o. A.= - Expli1e por1e é importante fa&er a distin'/o do desenvolvimento dos re1isitos do s+rio e o desenvolvimento dos re1isitos do sistema no processo de engenharia de re1isitos. s re1isitos de s+rio para m sistema devem descrever os re1isitos fncionais e n/o fncionais de modo compreensível pelos s+rios do sistema 1e n/o tem conhecimentos técnicos detalhados. Eles devem especi2car somente o comportamento externo do sistema. Evitando tanto 1anto possível as características de sistema. s re1isitos de sistema s/o as descri'(es mais detalhadas dos re1isitos do s+rio. Eles podem servir como 9ase para m contrato destinado C implementa'/o do sistema e portanto devem ser ma especi2ca'/o completa e consistente de todo o sistema.Eles s/o tili&ados pelos engenheiros de software como ponto de partida para o pro"ecto do sistema. A.V – 4escreva as principais actividades no processo de design de software e os otpts destas actividades. sando m diagrama, mostre as rela'(es entre os otpts destas actividades %s principais actividades no processo de desenho de software s/o . Pro"ecto de ar1itectra – s s9sistemas 1e constitem o sistema e sas rela'(es s/o identi2cadas e docmentadasT B. Especi2ca'/o a9stracta – Para cada s9sistema, é prod&ida ma especi2ca'/o a9stracta das sas fn'(es e das restri'(es dentro das 1ais devem operarT @. Pro"ecto de interface – Para cada s9sistema, é pro"ectada e docmentada ma interface com otros s9sistemas. Essa especi2ca'/o de interface n/o pode apresentar am9igidade, ma ve& 1e ela permite 1e o s9sistema se"a tili&ado sem conhecimentos de opera'/o do s9sistema. s métodos de especi2ca'/o formal, podem ser tili&ados neste est+gioT A. Pro"ecto de componentes – %s fn'(es s/o alocadas a diferentes componentes e as interfaces desses componentes s/o pro"ectadasT =. Pro"ecto de estrtra de dados – %s estrtras de dados tili&adas na implementa'/o de sistemas s/o pro"ectadas em detalhe e
especi2cadas. V. Pro"ecto de algoritmos – s algoritmos tili&ados para proporcionarem servi'os s/o pro"ectados detalhadamente e especi2cados. Exercícios P+g.B =. – Expli1e por1e é 1e a intangi9ilidade dos sistemas de software tra& pro9lemas para a gest/o de pro"ectos de software. ma 9oa gest/o do pro"ecto de software é essencial para 1e os pro"ectos de software se"am desenvolvidos dentro do pra&o e do or'amento. s gestores depro"ecto de software n/o podem 1anti2car o progresso, eles dependem de otras pessoas para prod&ir a docmenta'/o necess+ria, a 2m de sa9erem o estado de desenvolvimento. Se essa docmenta'/o é ins2ciente o inexistente o gestor n/o tem elementos para decidir. =.B – Expli1e por1e é 1e os melhores programadores n/o fa&em sempre os melhores gestores de software. )oc pode ter como 9ase Util a lista de actividades de gest/o dadas na sec'/o =.. Ela9ora'/o de propostas H descreve os o9"ectivos do pro"ecto e como ele ser+ reali&adoH Planeamento e programa'/o de pro"ectos Hse preocpam em identi2car as actividades, os marcos, e os docmentos a serem prod&idos em m pro"ecto. - !sto do pro"ectoH.cstos re1eridos para reali&ar m pro"ecto 6onitori&a'/o e revis(es de pro"ectosH.o monitoriamento de pro"ecto é ma actividade contina. o gestor deve manter o acompanhamento do andamento do pro"ecto e comparar os progressos e cstos reais com os 1e foram planeadosH. - Selec'/o e avalia'/o do pessoalHo ideal é 1e ma e1ipa h+9il e com experincia ade1ada este"a disponívelHmas isso nem sempre é possível por1e . or'amento pode n/o chegar para contratar ma e1ipa 9em paga B. % e1ipa apropriada pode n/o estar disponível por exemplo por estar alocada a otro pro"ecto @. % organi&a'/o pode 1erer desenvolver as ha9ilidades de ses fncion+rios. - Ela9ora'/o de relatFrios e apresenta'(esH.tanto para a organi&a'/o do cliente como para as organi&a'(es dos fornecedores =.@ – Expli1e por1e é 1e o processo de planeamento do pro"ecto é iterativo e por1e é 1e m plano deve ser continamente revisto drante m pro"ecto de software. Wova informa'/o2ca disponível o9"ectivo do software :negFcio; pode alterar-se pro"ecto pode sofrer atrasos Pode haver recrsos 1e deixam de estar disponíveis !stos mais elevados 1e o previsto =.A – $esmidamente expli1e o propFsito7o9"ectivo de cada ma das sec'(es nm plano de pro"ecto de software. plano do pro"ecto de2ne os recrsos disponíveis para o pro"ecto, a estrtra analítica do tra9alho e ma programa'/o :calend+rio; para reali&ar o tra9alho. !ontdo, a maioria dos planos deve inclir as segintes sec'(es
Introd'/o - descreve com 9revidade os o9"ectivos do pro"ecto e de2ne as restri'(es : or'amento , pra&o; 1e afectam a gest/o do pro"ecto. rgani&a'/o do pro"ecto – descreve o modo como a e1ipe é organi&ada, as pessoas envolvidas e os ses papeis na e1ipe. %n+lise de riscos – descreve possíveis riscos do pro"ecto, a pro9a9ilidade de srgir esses riscos e as estratégias propostas para a red'/o deles. $e1isitos necess+rios de hardware e de software – descreve o hardware e o software de apoio exigidos para reali&ar o desenvolvimento. Se o hardware tiver de ser comprado dever/o ser inclídos os pra&os de entra e as estimativas de pre'o. 4ivis/o do tra9alho – descreve a divis/o do tra9alho em actividades e identi2ca os marcos :milestones; e os prodtos a serem entreges com cada actividade :delivera9les;. !alendari&a'/o de pro"ecto – descreve as dependncias entre actividades, o tempo estimado re1erido para cada marco e a aloca'/o de pessoas nas actividades. 6ecanismos de monitoramento e de ela9ora'/o de relatFrios – 4escreve os relatFrios de gest/o 1e devem ser prod&idos, 1ando eles devem ser prod&idos e 1ais os mecanismos de monitori&a'/o1e s/o tili&ados. =.= – <al é a diferen'a fndamental entre m KmilestoneM e m Kdelivera9leMN 6ilestone m KmilestoneM é interno e sF entrege ao gestor do pro"ecto. K6ilestoneM é para o gestor acompanhar o pro"ecto. 4elivera9le m Kdelivera9leM é m KmilestoneM de ma fase importante no desenvolvimento do pro"ecto 1e é entrege ao cliente. K4erivera9leM é para o cliente acompanhar o pro"ecto. =.V – % 2gra =.= mostra m con"nto de actividades, dra'(es e dependncias. 4esenha ma rede de actividades e m gr+2co de 9arras 1e mostre a programa'/o do pro"ecto. =.0 – % 2gra =.= assinala a dra'/o das tarefas para as actividades do pro"ecto de software. Sponha 1e h+ ma contrariedade imprevista em lgar de re1erer > dias, a tarefa 5= re1er A> dias. *a&er ma revis/o da rede de actividades resltante, destacando o novo caminho critico. 4esenhe m novo gr+2co de 9arras 1e mostre como se poderia reorgani&ar o pro"ecto. =.R – Para além dos riscos 1e se mostram na 2gra =., indi1e otros seis possíveis riscos nos pro"ectos de software. Wo livro 5ecnologia $iscos 1e derivam do software o hardware sados no desenvolvimento do sistema. Ex. 4efeitos no hardware, ins2cincias do software, recrsos indisponíveis. Pessoas $iscos associados Cs pessoas na e1ipa de desenvolvimento. Ex. 4oen'as, Inexistncia de especialistas disponíveis. rgani&acionais $iscos 1e derivam do am9iente da organi&a'/o onde o software est+ a ser desenvolvido. Ex. $eestrtra'(es, falta de fndos.
*erramentas $iscos 1e derivam de ferramentas !%SE e de otro software sado no desenvolvimento do software. Ex. !Fdigo gerado é ine2ciente,impossi9ilidade de integra'/o das ferramentas. $e1isitos $iscos 1e derivam de mdan'as dos re1isitos por parte do cliente e no processo de gest/o dessa mdan'a de re1isitos. Ex. %s modi2ca'(es inseridas pelo cliente geram m tra9alho avltado, os clientes n/o compreendem o impacto das mdan'as de re1isitos, o cliente n/o de os re1isitos certos. Estimativas $iscos 1e derivam das estimativas feitas pela gest/o 1anto Cs características do sistema e dos recrsos necess+rios para o constrir. Ex. Estimativas erradas 1anto ao tempo de desenvolvimento, C extens/o de defeitos, ao tamanho do software. %dicionais %cidentes $iscos 1e derivam de m evento acidental, interno o externo. Ex. Perda de tra9alho acidentalmente, incndios, ro9os. !omnica'/o $iscos 1e derivam de transmiss/o de informa'/o n/o clara, errada o em falta entre a e1ipa de desenvolvimento. Ex. E1ipa de v+rias nacionalidades, canais de comnica'/o de2cientes, e1ipas de em locais diferentes. 6otiva'/o $iscos 1e derivam da motiva'/o da e1ipa o do cliente para a reali&a'/o do pro"ecto Ex. Indisponi9ilidade para reni(es, local de tra9alho desconfort+vel, sal+rios 9aixos. Expectativas $iscos 1e derivam de ma expectativa frstrada dos tili&adores do software. Ex. Interface n/o Kser friendlM, tarefas di2cltadas no software, ergonomia. !onXitos $iscos 1e derivam de conXitos entre os mem9ros da e1ipa e7o com o cliente. Ex. Segran'a $iscos 1e derivam de falhas de segran'a no sistema. Ex. Intrs(es, vírs. =. – Se chefe solicito 1e entrege m software nm tempo 1e sF pode ser possível cmprir pergntando Ce1ipa do pro"ecto se dese"a tra9alhar horas extras n/o pagas. 5odos os mem9ros da e1ipa tm 2lhos pe1enos. !omente se deveria aceitar esta exigncia do se chefe o se
voc deveria persadir a e1ipa para dar o se tempo C organi&a'/o mais 1e as sas famílias. <e factores poderiam ser signi2cativos na decis/oN ImportOncia na data de entrega do software Perda do contracto se o software n/o for entrege o m simples KmilestoneM. !onse1ncias para os tra9alhadores Perda de emprego, prémios. 6otiva'/o Wível de motiva'/o da e1ipa para terminar o pro"ecto. =.B – !omo programador, se lhe oferecessem ma promo'/o como gestor de pro"ecto, mas voc sente 1e pode ter ma contri9i'/o melhor nm papel técnico do 1e nm papel administrativo. !omente se deveria aceitar esta promo'/o. *actores de decis/o !ompetncias 4esa2o )antagens para a organi&a'/o rdenado Exercícios P+g.A V. – Identi21e resmidamente e descreva A tipos de re1isitos 1e se podem de2nir para m sistema inform+tico. *ncionais 4eclara'(es de fn'(es 1e o sistema deve fornecer, como o sistema deve reagir a entradas especí2cas e como se deve comportar em determinadas sita'(es. Em algns casos os re1isitos fncionais podem tam9ém explicitamente di&er o 1e o sistema n/o deve fa&er. Ex. !onslta de dados de histFrico, diferentes gras de privilégios de administrador. W/o fncionais $estri'(es so9re os servi'os o as fn'(es oferecidas pelo sistema. Entre eles destacam-se restri'(es de tempo, processo de desenvolvimento :prodto, organi&acionais, externos;. Ex. 5empo de resposta de acesso aos dados inferior a = segndos, disponi9ilidade a>>?. $e1isitos dos tili&adores 4eclara'(es em lingagem natral e tam9ém em diagramas so9re as fn'(es 1e o sistema deve fornecer e as restri'(es so9 as 1ais deve operar. Ex. Interface simpli2cada com ma crva de aprendi&agem r+pida, lingagem do programa em portgs e ingls. $e1isitos do sistema 4escri'(es mais detalhadas dos re1isitos de s+rio. Eles podem servir de 9ase a m contrato destinado C implementa'/o do sistema e, portanto deve ser ma especi2ca'/o completa e consistente do sistema. Ex. Sistemas redndantes com tolerOncia a falhas em $%I4 =, tili&a'/o de cFdigo a9erto gr+tis PP e 6S
V.B – 4iscta o pro9lema de sar lingagem natral para de2nir os re1isitos do s+rio e do sistema e mostre, sando pe1enos exemplos, por1e é 1e a estrtra'/o da lingagem natral em forml+rios pode a"dar a evitar algmas destas di2cldades. 5ipos de Wota'(es para especi2ca'/o re1isitos Qingagem natral estrtrada 4e2ni'/o de forml+rios standard o templates para exprimir a especi2ca'/o dos re1isitos. Qingagens de descri'/o de design tili&a ma espécie de lingagem de programa'/o mas com conceitos a9stractos. W/o é mito tili&ada, a n/o ser para especi2car interfaces. Wota'(es gr+2cas ma lingagem gr+2ca com anota'(es em texto. J tili&ada para de2nir re1isitos fncionais para o sistema. S/o exemplos comns as descri'(es se-case e diagramas de se1ncia. Especi2ca'(es matem+ticas Wota'(es 9aseadas em conceitos matem+ticos como m+1inas de estado 2nitas. Esta especi2ca'/o red& os argmentos com o cliente so9re a fncionalidade de sistema. 4i2clta no entanto a compreens/o por parte docliente, podendo este recsar-se a aceitar essa especi2ca'/o como contracto do sistema. 4i2cldades %m9igidade da lingagem natral % interpreta'/o da lingagem natral depende de 1em a l o a escreve, o 1e pode levar a mal entendidos no signi2cado dos re1isitos. Excesso de Xexi9ilidade m mesmo re1isito pode ser identi2cado de diversas maneiras diferentes, levando a confs/o se os re1isitos s/o os mesmos o diferentes. 4i2cldade a modlar Sendo a lingagem difícil de modlar, é difícil relacionar os re1isitos entre si de forma a veri2car as conse1ncias de ma mdan'a. Ex. 4icion+rio de re1isitos, em todos os sítios na docmenta'/o e no programa determinado re1isito é referenciado da mesma forma. 5emplate o forml+rio para preenchimento de cada re1isito :4escri'/o da fn'/o, inpts7otps, origem7destino, pré7pFs condi'(es;. V.@ - 4esc9ra am9igidades o omiss(es na seginte a2rma'/o de re1isitos de ma parte de m sistema de emiss/o de 9ilhetes. m sistema atom+tico de emiss/o de 9ilhetes vende 9ilhetes de com9oio. s s+rios seleccionam o se destino e introd&em m cart/o de crédito e m nUmero de identi2ca'/o pessoal. 9ilhete de com9oio é emitido e a conta deles de cart/o de crédito é co9rada. <ando o s+rio pressiona o 9ot/o de início, é
mostrado m men 1e mostra os possíveis destinos, "nto com ma mensagem para o s+rio 1e lhe indica para seleccionar m destino. ma ve& 1e se selecciono m destino, pede aos s+rios 1e introd&am o cart/o de crédito. % sa validade é veri2cada e é pedido ao s+rio para introd&ir m identi2cador pessoal. <ando a transac'/o de crédito forvalidada, o 9ilhete é emitido. %m9igidades SF cart(es de crédito o tam9ém de dé9itoN Yanc+rio o internoN WZ de identi2ca'/o pessoal [ identi2cador pessoalN :!onta de cart/o de crédito co9rada [ transac'/o de crédito validadaN; 1e fa& ZN 4epois da transac'/o é 1e emite o 9ilhete, n/o antes\ miss(es 5ipos de 9ilhetesN 5ipos de com9oiosN <ais os destinosN WUmero de identi2ca'/o pessoal de 1N 4o cart/oN Ecr/ inicial :Início; aparece por defeito é a escolha de destinoN nde 2ca o 9ot/o de inícioN )alidar antes de inserir m identi2cador pessoalN W/o descreve 1ando e como é solicitado o cFdigo pessoal ao tili&ador. W/o descreve como o sistema deve reagir a m cart/o o cFdigo pessoal n/o v+lido. W/o de2ne como é devolvido o cart/o ao tili&ador. V.A – )olte a escrever a descri'/o anterior tili&ando a aproxima'/o estrtrada descrita neste capítlo. $esolva de forma apropriada as am9igidades identi2cadas. Pretende-se o desenvolvimento de m sistema atom+tico de venda de 9ilhetes de com9oio. Para iniciar a tili&a'/o do sistema o tili&ador dever+ premir o 9ot/o início, activando o men de destinos possíveis associado a ma mensagem 1e lhe indicar+ 1e deve seleccionar o destino pretendido. %pFs a selec'/o do destino pretendido, o sistema pede ao tili&ador para inserir o cart/o de crédito na ranhra existente para o efeito mediante a apresenta'/o de ma mensagem no ecr/. 4e segida, o sistema solicitar+ a introd'/o do cFdigo pessoal mediante a apresenta'/o de ma mensagem. %pFs a introd'/o do cFdigo pessoal pelo tili&ador, recorrendo ao teclado existente no dispositivo, o sistema comprovar+ a validade docart/o. Se o cart/o o cFdigo pessoal n/o for v+lido, o sistema apresentar+ a mensagem de K!art/o n/o v+lidoMe expelir+ o cart/o. Se o cart/o e cFdigo pessoal estiverem correctos, o sistema iniciar+ a transac'/o. 5erminada a transac'/o, o sistema devolver+ o cart/o ao tili&ador apresentando a seginte mensagem K$etire o cart/o por favorM. %pFs o tili&ador retirar o cart/o do sistema, ser+ impresso o 9ilhete e expedido pela respectiva ranhra, apresentando ma mensagem de convite ao tili&ador para retirar o 9ilhete. $etirado o 9ilhete, termina a opera'/o e o sistema volta ao estado de início, agardando 1e novo tili&ador pressione no respectivo 9ot/o. V.0 – 4escreva A tipos de re1erimentos n/o fncionais 1e podem existir em m sistema. 4e exemplos de cada m destes tipos de re1erimentos. $e1isitos de prodtos $e1isitos 1e especi2cam o comportamento do prodto. Ex. s re1isitos de desempenho so9re com 1e rapide& o sistema
deve operar e 1anta memFria ele re1er, os re1isitos de con2a9ilidade, 1e esta9elecem a taxa aceit+vel de falhas, os re1isitos de porta9ilidade e os re1isitos de facilidade de so. $e1isitos organi&acionais procedentes de políticas e procedimentos nas organi&a'(es do cliente e do desenvolvedor. Ex. s padr(es de processo 1e devem ser tili&ados, os re1isitos de implementa'/o, como a lingagem de programa'/o o o método de pro"ecto tili&ado, e os re1isitos de fornecimento, 1e especi2cam 1ando o prodto e ses docmentos devem ser entreges. $e1isitos externos %9range todos os re1isitos procedentes de factores externos ao sistema e a se processo de desenvolvimento. Ex. s re1isitos de interopera9ilidade, 1e de2nemcomo o sistema interage com sistemas notras organi&a'(es, os re1isitos legais, 1e devem ser segidos para assegrar 1e o sistema opera de acordo com a lei, e os re1isitos éticos :os re1isitos éticos s/o de2nidos nm sistema para garantir 1e este ser+ aceit+vel para os ses tili&adores e o pU9lico em geral;. V.> – )oc aceito m tra9alho com m tili&ador de software 1e contrato anteriormente o se antigo empregador para desenvolver m sistema. )oc desco9re 1e a interpreta'/o de sa empresa dos re1isitos é diferente da interpreta'/o feita pelo se antigo empregador. 4iscta o 1e deve fa&er nesta sita'/o. )oc sa9e 1e os cstos para o se actal empregador v/o amentar se as am9igidades n/o forem resolvidas. 5em tam9ém ma responsa9ilidade de con2dencialidade para com se empregador anterior. 5entava resolver as am9igidades sem revelar informa'/o con2dencial. Exercícios P+g.V0 0. – Sgira 1em podem ser os KstaLeholdersM nm sistema de registo de estdantes nma niversidade. Expli1e por 1e é 1ase sempre inevit+vel 1e os re1isitos de diferentes KstaLeholdersM se"am, de algma maneira, conXitosos. s KstaLeholdersM n/o sa9em o 1e 1erem do sistema a n/o ser nm car+cter geral. Podem ter di2cldades a ver9ali&ar o 1e 1erem o fa&em exigncias irrealistas pois n/o tm no'/o dos cstos. !ada KstaLeholderM expressa re1isitos 9aseados no se conhecimento especí2co do negFcio, tendo estes 1e ser integrados no todo. KStaLeholdersM diferentes tm re1isitos diferentes 1e expressam de maneira diferente. *actores políticos inXenciam o design do sistema, por exemplo, gestores 1e re1erem algo especí2co paraamentar a sa inXncia na organi&a'/o. am9iente onde o sistema se integra é dinOmico, os re1isitos podem variar drante a sa avalia'/o e entrada de novos KstaLeholdersM 1e n/o foram consltados.
0.V – 4iscta o exemplo de m tipo de sistema em 1e os factores sociais e políticos podem inXenciar fortemente os re1isitos do sistema. Expli1e por1e é 1e esses factores s/o importantes no se exemplo. 6dan'as legislativas originam re1isitos novos. Ex mdan'a do I)% Esctas atori&adas na Internet. Pro"ectos internacionais – 1est(es lingísticas, dicion+rios e adaptar a cada país. Políticas da empresa – 9arrar sites, acessos, ver prod'(es dos empregados. 0.0 – <em deve estar envolvido em ma revis/o de re1isitosN 4esenhe m modelo de processo mostrando como ma revis/o de re1isitos pode ser organi&ada. s re1isitos devem ser analisados sistematicamente pela e1ipa de revisores. J m processo manal, 1e envolve mitos leitores, tanto do pessoal do cliente como do fornecedor, 1e veri2ca o docmento de re1isitos a 2m de detectar anomalias o omiss(es. :pode e deve envolver todos os staLeholders do sistema; !omo alternativa, esse processo pode ser organi&ado em maior escala, com mitos participantes envolvidos na veri2ca'/o de diferentes partes do docmento. %s revis(es de re1isitos podem ser formais o informais. %s informais simplesmente envolvem os fornecedores7desenvolvedores 1e disctem os re1isitos com tantos staLeholders 1t possível . Wa formal a e1ipe de desenvolvimento deve cond&ir o cliente pelos re1isitos do sistema. Explicando as implica'(es de cada m. 0.8 – Por1e é 1e as matri&es defacilidade de rastreio se tornam difíceis de gerir 1ando existem mitos re1isitos de sistemaN Pro"ecte m mecanismo de estrtra'/o de re1isitos, com 9ase em pontos de vista, 1e possa a"dar a red&ir a escala desse pro9lema. Existem mitas rela'(es entre re1isitos e otros re1isitos e entre os re1isitos e o design <ando s/o propostas modi2ca'(es é preciso veri2car o impacto dessas mdan'as so9re otros re1isitos e o design do pro"ecto. % facilidade de rastreio é ma propriedade geral de ma especi2ca'/o de re1isito e reXecte a facilidade de se encontrar re1isitos relacionados. Existem @ tipos de informa'(es so9re a facilidade de rastreio , 1e podem ser mantidas. - Informa'(es so9re a facilidade de rastreio da origem vinclam os re1isitos aos staLeholders 1e propseram esses re1isitos. B- Informa'(es
so9re a facilidade de rastreio de re1isitos vinclam re1isitos dependentes dentro de se respectivo docmento. @- Informa'(es so9re a facilidade de rastreio de design vinclam os re1isitos aos mFdlos de design em 1e esses re1isitos s/o implementados. %s informa'(es so9re a facilidade de rastreio s/o, fre1entemente representadas com o so de matri&es de facilidade de rastreio. Estas relacionam os re1isitos aos stacLeholders , os re1isitos entre si o aos mFdlos de design . %s matri&es de facilidade de rastreio podem ser tili&adas 1ando m pe1eno nmero de re1isitos precisa de ser gerido, mas elas tornam-se mito difíceis de serem manseadas e s/o de manten'/o dispendiosa em grandes sistemas com mitos re1isitos. Para esses sistemas temos de o9ter as informa'(es da facilidade de rastreio em 9ase de dados de re1isitos ,em 1e cada re1isito é explicita7 vinclado a re1isitos relacionados. impacto das mdan'as pode ser avaliado pelo so dos recrsos de visali&a'/o das 9ases de dados. !omo alternativa, pode ser possível gerar as matri&es de facilidade de rastreio atom+tica7. % gest/o de re1isitos precisa de algm apoio atomati&ado e as ferramentas !%SE devem ser sadas em - arma&enaneto de re1isitos B- gest/o de mdan'as @- gest/o de facilidade de rastreio mecanismo de estrtra'/o de re1isitos, com 9ase em pontos de vista mesmo para m sistema relativa7 simples existem mitos pontos de vista diferentes 1e devem ser considerados. s diferentes pontos de vista a respeito de m pro9lema vem o pro9lema de modos diferentes. !ontdo, sas perspectivas n/o s/o inteiramente independentes, tem algma dplicidade, e apresentam re1isitos comns. % a9ordagem orientada aos pontos de vista e sada para estrtrar e organi&ar o processo de levantamento de re1isitos. s est+gios do )$4 :viewpoint –oriented re1iremens de2nition ; - Identi2ca'/o dos pontos de vista- desco9rir os pontos de vista e respectivos servi'os B- Estrtra'/o de pontos de vista- agrpar pontos de vista relacionados segndo ma hierar1ia @- 4ocmenta'/o de ponto de vista – re2nar a descri'/o A- 6aneamentos de sistema de ponto de vista – envolve identi2car o9"ectos em m design orientado a o9"ectos, tili&ando informa'(es de servi'o 1e est/o encapsladas nos pontos de vista Exercícios P+g.BA R.B – Wm sistema de 9om9a de inslina, o s+rio tem de modi2car a aglha e a provis/o de inslina reglarmente e tam9ém pode modi2car a
dose Unica m+xima e o m+ximo di+rio 1e pode seradministrado. Sgira trs erros de s+rios 1e poderiam ocorrer e propor exigncias de segran'a 1e evitariam esses erros 1e resltam em m acidente R.@- m sistema de software segro e crítico para o tratamento de doentes com cancro tem dois componentes principais % m+1ina de radioterapia 1e administra doses controladas de radia'/o aos sítios do tmor. Esta m+1ina é controlada por m sistema de software em9e9ido. ma 9ase de dados de tratamentos 1e incli os detalhes do tratamento dado a cada paciente. s re1erimentos do tratamento s/o introd&idos nesta 9ase de dados e atomaticamente se descarregam na m+1ina de radioterapia. Identi21e trs contingncias 1e podem srgir neste sistema. Para cada contingncia sgira m re1erimento defensivo 1e red&a a pro9a9ilidade de 1e estas contingncias provo1em m acidente. Expli1e por1e é 1e a defesa sgerida por voc é prov+vel 1e red&a o risco associado a contingncia. %nexo Software development process %ctivities and steps $e1irements ] %rchitectre ] 4esign ] Implementation ] 5esting ] 4eploment 6odels %gile ] !leanroom ] Iterative ] $%4 ] $P ] Spiral ] ^aterfall ] _P ] Scrm Spporting disciplines !on2gration management ] 4ocmentation ] Software 1alit assrance :S<%; ] Pro"ect management ] ser experience design Some software development methods ^aterfall model Spiral model 6odel driven development ser experience 5op-down and 9ottom-p design !haos model Evoltionar prototping Prototping I!WI_ Process :6Q9ased o9"ect modeling with se cases; ni2ed Process )-model Extreme Programming Software 4evelopment $hthms Incremental fnding methodolog