SIGLASISTEMA-MDS-999 MDS Verso: Nome do Sistema Data/Hora: Local e data MDS: Estrutura do Documento 2 MDS Verso: Nome do Sistema Data/Hora: Revises A primeira verso deste documento criada aps a sua aprovao e vinculada a uma aseline do so!t"are# Esta verso$ portanto$ no pode ser modi!icada# As modi!ica%es &ue se !i'erem necess(rias aps a criao da aseline !aro parte de uma verso se)uinte &ue ser( vinculada a uma outra aseline# Este procedimento pode se repetir sucessivamente# As modi!ica%es introdu'idas em cada verso devem ser re)istradas se)uindo o modelo do &uadro aai*o# Desta !orma$ ser( poss+vel perceer as di!erenas entre as diversas vers%es )eradas# Data Descrio Autor ,ncluir a data da modi!icao Descrever resumidamente o motivo da reviso ,n!ormar o nome do respons(vel pela modi!icao Contedo ,ncluir +ndice de conte-do do documento &ue estiver sendo elaorado$ con!orme e*emplo aai*o usado para esta proposta de metadocumento: .# ,ntroduo###################################################################################################################/ .#. 01etivos###############################################################################################################/ .#2 2-lico Alvo#########################################################################################################/ .#3 0r)ani'ao do documento##################################################################################/ 2# ,nter!ace Homem45omputador###################################################################################/ 2#. 6eiaute da ,nter!ace de 7su(rio############################################################################/ 2#.#. De!inio do 01eto de ,nter!ace##################################################################8 2#2 Apresentao da ,nter!ace de 7su(rio##################################################################9 3# 5asos de 7so :eais####################################################################################################9 /# Ar&uitetura do Sistema###############################################################################################9 /#. Modelo de Ar&uitetura#########################################################################################; /#2 Ar&uitetura E*terna##############################################################################################; /#3 Ar&uitetura ,nterna###############################################################################################< =ilio)ra!ia##################################################################################################################.> Ane*os#########################################################################################################################.> Fig!as e Ta"elas ,ncluir +ndice de !i)uras e taelas mostradas no documento usando o mesmo modelo do +ndice de conte-do# MDS: Estrutura do Documento 3 MDS Verso: Nome do Sistema Data/Hora: #$ Int!od%&o Apresentar o documento ao leitor$ descrevendo sucintamente o sistema &ue o1eto deste pro1eto e as in!orma%es contidas neste documento# #$# '"(etivos De!inir os o1etivos do documento# #$) *"li+o Alvo ,denti!icar o p-lico alvo do documento$ isto $ os r)os e pessoas &ue podero us(4lo# #$, '!gani-a%&o do do+mento Descrever a or)ani'ao e o conte-do de cada seo do documento# )$ Inte!.a+e /omem-Com0tado! Nesta seo o pro1eto de inter!ace ?omem4computador deve ser complementado com o detal?amento de cada o1eto comple*o de inter!ace @1anela ou relatrioA do so!t"are &ue usado nos casos de uso do ciclo de desenvolvimento &ue est( sendo tratado e &ue no !oi detal?ado em ciclos anteriores# Estes o1etos devem ser descritos em termos das se)uintes in!orma%es: ,denti!icao da 1anela ou relatrioB De!inio de leiaute e apresentao da 1anela ou relatrioB Especi!icao de di(lo)o e nave)ao na 1anelaB De!inio dos o1etos de inter!ace# Se e*istirem padr%es de inter!ace adotados pela empresa$ esses devero ser se)uidos# 0 conte-do desta seo pode ser otido$ no todo ou em parte$ a partir de um amiente de pro1eto de inter!ace# 5aso se1a utili'ado tal amiente$ deve ser !eita re!erCncia ao mesmo$ e analisada a necessidade do preenc?imento complementar das se%es se)uintes# 5aso no se1a utili'ado$ as se%es se)uintes devero ser preenc?idas# )$# Leiate da Inte!.a+e de 1s2!io A dia)ramao da inter!ace de!inida no E0: estaelece as (reas !uncionais de cada o1eto comple*o de inter!ace# Esta seo de!ine o leiaute desses o1etos em termos de o1etos mais simples &ue devem aparecer em cada (rea !uncional de uma 1anela ou relatrio# E*emplos desses o1etos de inter!ace mais simples so ot%es$ cai*as de te*to e painis de controle# Assim$ o leiaute complementa e detal?a o !ormato de inter!ace proposto pela dia)ramao# 0 leiaute de cada 1anela ou relatrio deve ser apresentado como mostra a Di)ura 2# MDS: Estrutura do Documento / MDS Verso: Nome do Sistema Data/Hora: Figura 1: Exemplo de leiaute de Janela Display Properties em padro Windows )$#$# De.ini%&o do '"(eto de Inte!.a+e 7m o1eto de inter!ace pode ser de!inido como um elemento de interao &ue permite pelo menos uma das se)uintes !uncionalidades: o !ornecimento de dados para o usu(rioB a oteno de dados do usu(rioB ou a ativao de !un%es do sistema# E*emplos de tipos de o1etos de inter!ace so ot%es e campos de te*to# Dispositivos de interao eletroac-sticos$ eletromecEnicos ou optoeletrFnicos @sensor de vo'$ por e*emploA$ &uando controlados a partir de uma 1anela$ tamm devem ser considerados como o1etos da mesma# Godos os o1etos de inter!ace$ incluindo 1anelas e relatrios$ devem ser detal?adamente descritos de !orma a caracteri'ar o seu comportamento e a sua aparCncia# 5ada o1eto de inter!ace caracteri'ado pelo seu nome e pelo seu con1unto de atriutos @ou propriedadesA# 7ma mesma de!inio de o1eto de inter!ace pode ser utili'ada em 1anelas di!erentes# 2or e*emplo$ uma janela de mensagem pode ser de!inida com seus respectivos o1etos componentes e utili'ada em todos os pro1etos de sistemas# )$#$#$# Identi.i+a%&o do '"(eto Godo o1eto de inter!ace deve ser identi!icado# Se o tipo de o1eto de inter!ace 1( !oi de!inido anteriormente$ deve4se apenas !a'er uma re!erCncia para o documento &ue o de!ine# 2or e*emplo$ pode ser re!erenciada a de!inio de uma janela de mensagem padro# MDS: Estrutura do Documento 8 MDS Verso: Nome do Sistema Data/Hora: )$)A0!esenta%&o da Inte!.a+e de 1s2!io A apresentao de uma 1anela ou relatrio de!inida pelas propriedades relacionadas com a aparCncia de cada o1eto de inter!ace$ incluindo a prpria 1anela @ou relatrioA# 2ortanto$ a apresentao da inter!ace complementa e detal?a a especi!icao de!inida pelo leiaute da inter!ace# 0s atriutos de aparCncia mostram os aspectos !+sicos de apresentao do o1eto de inter!ace# 0 con1unto de atriutos de apresentao de uma 1anela @ou relatrioA pode estar prede!inido por um padro de inter!ace ou$ na ausCncia de tal padro$ pode ser de!inido pelo pro1etista de inter!ace# Se um padro de inter!ace no !or adotado$ ser( preciso de!inir$ para cada 1anela @ou relatrioA$ os valores padro para os atriutos de apresentao de cada o1eto de inter!ace utili'ado# Al)uns dos atriutos de aparCncia dispon+veis para a maior parte dos tipos de o1eto de inter!ace so: t+tulo do o1etoB cor @de !undo$ da orda$ etc#AB taman?oB posio com relao ao o1eto &ue o contmB sinFnimos @tecla associada ao +cone$ por e*emploAB capacidade de minimi'ao @o o1eto poder ser iconi!icado ou noAB e possiilidade de alterao do taman?o ou posio# ,$ Casos de 1so Reais Nesta seo devem ser acrescentadas ao MDS as descri%es dos casos de uso do ciclo de desenvolvimento corrente no !ormato real e*pandido$ con!orme orienta%es contidas em H.I# 3$ A!4itet!a do Sistema Nesta seo so mostradas as premissas e solu%es de pro1eto propostas para o sistema# 0 seu conte-do comea a ser preenc?ido 1( na !ase de plane1amento do desenvolvimento do so!t"are com as primeiras de!ini%es sore a ar&uitetura# Durante a !ase de construo na e*ecuo dos ciclos de desenvolvimento a ar&uitetura re!inada e complementada# H( duas ar&uiteturas complementares &ue precisam ser de!inidas: a ar&uitetura e*terna e a ar&uitetura interna# 7ma astrai os aspectos detal?ados na outra# A ar&uitetura e*terna descreve o so!t"are como um susistema de um sistema maior# 0 o1etivo desta ar&uitetura de!inir as inter!aces do so!t"are com este sistema computacional &ue o contm# J( a ar&uitetura interna detal?a a estrutura interna do so!t"are$ astraindo o mundo e*terior# Esta ar&uitetura pode ser detal?ada em um n+vel de pe&uenos susistemas &ue o comp%e @macro ar&uiteturaA ou em um pro1eto detal?ado dos mdulos &ue comp%em o so!t"are e a maneira como eles podem ser empacotados em unidades de implementao# Estas ar&uiteturas devem ser de!inidas de acordo com dois princ+pios (sicos da En)en?aria de So!t"are: .A Dividir para con&uistar: particionar o sistema em partes mais simples$ 1untando partes correlatas e isolando partes distintas# 2A 0cultar in!orma%es: astrair detal?es de implementao$ de !orma &ue um mdulo possa cooperar com outros sem necessidade de con?ecer4l?es a estrutura# A especi!icao da ar&uitetura do so!t"are essencial para a )arantia da &ualidade do so!t"are# A de!inio da ar&uitetura deve re)istrar as decis%es de pro1eto @por e*emplo$ MDS: Estrutura do Documento 9 MDS Verso: Nome do Sistema Data/Hora: a&uelas relacionadas com o desempen?o de uma determinada !unoA# Alm disso$ a ar&uitetura deve !acilitar a comunicao entre pro1etista e implementador$ atravs da de!inio precisa do sistema a ser constru+do# 2or !im$ a ar&uitetura permite a validao do pro1eto com relao aos re&uisitos do so!t"are$ alm de servir de ase para a de!inio de marcos de veri!icao do pro1eto# A &ualidade do pro1eto ar&uitetFnico deve ser &uantitativamente mensurada atravs de critrios como coeso$ acoplamento$ taman?o$ comple*idade$ manuteniilidade$ portailidade$ e!iciCncia e )rau de reutili'ao# 2ara isso preciso estaelecer mtricas &ue sero usadas para a!erir a &ualidade do pro1eto# 3$# Modelo de A!4itet!a ,nicialmente$ ainda na !ase de plane1amento$ deve ser descrito como ser( o modelo/padro de ar&uitetura do sistema# Godos as caracter+sticas e premissas &ue nortearo o pro1eto devem ser descritas# 7m e*emplo simpli!icado de te*to poderia ser: O sistema dever ser construdo em um modelo de processamento distribudo cliente- servidor de trs camadas: uma de apresentao, uma de implementao de regras de negcio e uma de gerenciamento de dados persistentes! As "uncionalidades de cada camada devero ser rigorosamente separadas na implementao para garantir os re#uisitos de manutenibilidade do sistema! $mbora separadas na implementao, as camadas podero ser implementadas em um %nico computador! A camada de gerenciamento de dados ser responsvel pela inter"ace com o sistema gerenciador de banco de dados, isolando as camadas de inter"ace e de negcios do &'(D escol)ido! O sistema no trabal)ar com dados distribudos!!!*! Durante a e*ecuo dos ciclos de desenvolvimento na !ase de construo o modelo de ar&uitetura poder( ser re!inado e complementado# 3$) A!4itet!a E5te!na A Ar&uitetura E*terna apresenta um modelo de inte)rao do so!t"are &ue ser( constru+do com o sistema computacional em &ue ele dever( ser e*ecutado# Esta seo deve especi!icar as inter!aces entre o so!t"are e os demais componentes e*ternos$ descrevendo os servios prestados por e para estes componentes# Esta especi!icao !ornece o protocolo de comunicao com cada componente$ de !orma a esclarecer o modo de usar seus servios# Assim como o modelo de ar&uitetura$ a ar&uitetura e*terna pode comear a ser esoada ainda durante a !ase de plane1amento do processo de desenvolvimento e re!inada e complementada durante os ciclos de desenvolvimento# 7m dia)rama estrutural pode a1udar a identi!icar os componentes do sistema computacional e descrever as inter!aces destes com o so!t"are pro1etado$ como mostra o e*emplo da Di)ura .# As demais vis%es ar&uiteturais @dinEmica$ !uncional e de dadosA podem ser especi!icadas a critrio do pro1etista# MDS: Estrutura do Documento ; MDS Verso: Nome do Sistema Data/Hora: Di)ura .: Ar&uitetura E*terna do So!t"are As inter!aces entre o so!t"are e os demais componentes devem ser identi!icadas e descritas atravs de um modelo de prestao de servios# 5ada inter!ace o!erece a prestao de servio de/para um componente e*terno$ ou se1a$ os componentes e*ternos podem ser servidores do sistema e/ou podem ser clientes do sistema# 2or e*emplo$ o componente e*terno KSistema 0peracionalL apenas o!erece servios para o so!t"are$ en&uanto um outro sistema de in!ormao e*terno pode solicitar servios do so!t"are pro1etado# M importante oservar &ue o usu(rio do so!t"are pode ser considerado como um componente e*terno para o &ual o so!t"are o!erece servios atravs de mecanismos de ,nter!ace Homem4 5omputador @,H5A# Estes servios 1( esto de!inidos no pro1eto de inter!ace com o usu(rio e no precisam ser repetidos a&ui# 2ara cada servio o!erecido por um componente e*terno @ou para este componenteA$ deve ser de!inida a inter!ace entre os sistemas# Assim$ para a ar&uitetura descrita na Di)ura . deveria ?aver cinco suse%es descrevendo as inter!aces do sistema pro1etado A com os sistemas e*ternos +, ,, -, ., / e 0# A de!inio de uma inter!ace e*terna deve conter @&uando se aplicarA: .# A identi!icao do sistema e*terno e da inter!ace entre este e o so!t"are pro1etadoB 2# 0 o1etivo e a descrio do servio o!erecido$ incluindo eventuais e!eitos colateraisB 3# As A2,s 1Application 2rogramming 3nter"aceA &ue disponiili'am o servioB /# 0s 2rotocolos de 5omunicao &ue podem ser utili'ados para ativar o servio @incluindo a descrio de parEmetros e valores de retornoAB 8# 0 Mtodo de 5omunicao entre os processos @interrupoB sem(!oroB :25B troca de mensa)ensB compartil?amento de memriaB intercEmio de ar&uivos$ etc#AB 9# A descrio das mensa)ens @sinta*e e semEnticaA usadas para a ativar a e*ecuo do servio# Essas de!ini%es devem ser complementadas por re!erCncias N documentao dos componentes e*ternos &ue descrevam as inter!aces de prestao de servio# MDS: Estrutura do Documento O Sistema 6ocal 6 So!t"are 2ro1etado A SP=D 7 Sistema 0peracional 8 Sistema :emoto 9 5omunicao entre 2rocessos 2rotocolo de :ede A2, de SP=D A2, de S#0# =ilioteca de 4un-5ime : =ilioteca de ,nter!ace 1 A2, de ,nter!ace A2, de Dun%es 7su(rio ,H5 MDS Verso: Nome do Sistema Data/Hora: 3$, A!4itet!a Inte!na A ar&uitetura e*terna mostra o so!t"are como uma Kcai*a pretaL$ desconsiderando sua estrutura interna e preocupando4se e*clusivamente com as suas intera%es com componentes e*ternos# Nesta seo deve4se apresentar a viso complementar$ detal?ando a estrutura interna do so!t"are astraindo as intera%es com componentes e*ternos# A ar&uitetura interna do so!t"are um con1unto de vis%es da sua estrutura# 5ada viso @ou perspectivaA descreve: aA 7m con1unto de mdulos do sistemaB A 0s relacionamentos entre esses mdulosB cA As propriedades e*ternamente vis+veis dos mdulos de acordo com a viso ar&uiteturalB dA Dados: estruturas de dados$ persistentes e vol(teis$ manipuladas em um mdulo# Neste conte*to$ um mdulo um componente &ual&uer do sistema como$ por e*emplo$ uma !uno$ um con1unto de !un%es$ uma estrutura de dados$ uma classe de o1etos ou uma re)ra de processamento# E*istem &uatro vis%es relevantes$ con!orme ilustra a Gaela .# Essas vis%es representam di!erentes perspectivas para o entendimento do so!t"are pro1etado# 7is&o A!4itet!al E5em0los de Re0!esenta%&o Viso de estrutura @ou de composioA 5amadas do So!t"are representadas por Dia)rama de 2acotes Dia)rama de 5lasses Pr(!ico de Estrutura de Sistema @Dia)rama Hier(r&uico DuncionalA Viso dinEmica @ou de comportamentoA Dia)ramas de 5olaorao Dia)ramas de Se&QCncia 2seudo4cdi)o Viso de dados Es&uema de =anco de Dados 5lasses de 2ersistCncia Gaela .: Vis%es ar&uiteturais e poss+veis representa%es A ar&uitetura interna do sistema deve de!inir todos esses aspectos de modo &ue uma ou mais e&uipes possam reali'ar a implementao do pro1eto# Di!erentes mtodos de pro1eto tero di!erentes aorda)ens e nota%es para atin)ir esse o1etivo# 2or e*emplo$ no mtodo su)erido por 6arman H.I as perspectivas mostradas na taela . so representadas pelos se)uintes arte!atos: .# Dia)rama de Empacotamento das 5amadas do So!t"are 2# Dia)rama de 5lasses contidas em cada 2acoteB 3# Dia)ramas de 5olaorao para cada 5ontrato de 0perao dos 5asos de 7so tratados no ciclo de desenvolvimento correnteB MDS: Estrutura do Documento < MDS Verso: Nome do Sistema Data/Hora: /# Es&uema 6)ico de ,mplementao das =ases de Dados# ;i"liog!a.ia Detal?ar todas as !ontes de in!ormao citadas no documento ou usadas de al)uma !orma para sua elaorao$ incluindo t+tulo$ autor$ data$ !onte de oteno$ r)o respons(vel pela pulicao e &ual&uer outra in!ormao &ue possa !acilitar a locali'ao e oteno dessas !ontes pelo leitor# Nesta seo cada !onte citada deve ser associada a um n-mero identi!icador# Junto de cada citao deve ser colocada tamm uma e*plicao sucinta de como a !onte !oi usada na elaorao do documento# 2or e*emplo$ vamos supor &ue para elaorar o documento RRR4MDS4>>. do pro1eto !oram usadas as orienta%es contidas no Meta4Modelo de Desen?o de So!t"are @MDSA# Ento$ nesta seo deveria aparecer o se)uinte te*to: 678 4onaldo 9opes de Oliveira, MDS Modelo de Desenho de Sotware< !erso 1"#$ agosto de %##&! :eta-:odelo usado como guia para de"inio do "ormato e conte%do deste documento! Ane5os Ane*ar ao MDS todos os documentos &ue serviram de ase para sua elaorao e &ue so !undamentais para sua compreenso como$ por e*emplo$ normas de pro1eto de so!t"are e documentao de sistemas e*ternos# 5ada ane*o dever( receer uma !ol?a de rosto indicando seu conte-do# MDS: Estrutura do Documento .> MDS Verso: Nome do Sistema Data/Hora: :e!erCncias =ilio)r(!icas H.I 5rai) 6arman$ 'tili(ando 'M) e Padr*es 'ma +ntrodu,o - .n/lise e Pro0eto 1rientado a 120etos$ Editora =ooSman$ 2>>># MDS: Estrutura do Documento ..