Gest5o de Configurac6es de Software de Sistemas de Telecomunica6es Enga. Carlos Rydin Dra. Odete Corrio Enga. MaJoo PatrAo SIEMENS SA, Dep. Comuta8o e Software Av. Almirante Reis, 65 P-1100 LISBOA Tel: (01)3502000 Fax: (01)3502219/2054 .--- Resumo 0 o"cctivo da comunicaAo d o de apresentar e descrever o --- SEPP-CM o sistema de geso de configuraBes em uso na SIEMENS no desenvolvimento, produSo e manuten&o de software para sistemas de telecomunicaJes pdblicas (por exemplo, o -- comutador digital EWSD, largamente utildo na rede telef6nica portuguesa). N~aosendo o SEPP"CM um produto ou servio comercial, a motivaBo principal desta comunicaAo 6 a de relater a aplica&o concrete e real de t6cnicas de geso de configuraJes em projectos .- de software de grande dimensAo e ainda partilbar a experincia adquirida ao longo de alguns anos de utilago do sistema. Por '_ uItimo, concluem-se alguns aspectos de como o sistema de gestAode configuraHes assegura, por si s6, uma significativa componente da garantia da qualidade. O processo de desenvolvimento, produ80 e manutenAo de software SEPP -- [Almeida95] define um modelo de lases. Cada lase baseia-'se nas actividades e resultados da lase cronologicamente anterior. As lases $80 delimitadas por linbas de base (baselines), O processo define os resultados a serem prodidos em cada lase, controla as dependSncias - entre actividades necessaries para a obten80 desses resultados e determina as medidas de garantia da qualidade. Por ultimo, para tornar possivel a monitorimc80 e gestSo do projecto, eso incorporados marcos (mi/estones) no processo. ` SEPP-CMoe um copyright da SIEMENS;SEPP-CM= SEPP Con6gurationManagement SEPPc um copyright da SIEMENS;SEPP = Software EngineeringProcessPlan 131 O SEPP-CM e a ferramenta informatica que garante a correct& conduo e monitorio do processo, de acordo com as determinaJes e regr do SEPP. A figa 1 &present&de a foa esquemtica o posicionento do SEPPM e d s diversas componentes no processo SEPP. Andlise Dcoho Implemen- Teste de Teste de Operaso tacio IntegracAo $!sterns Denvolvi- Menlo de Programas Fesen de Testes Automhtiws Verifxca40 e nalidacAo de Pro&Fames Depumdor (debuggers) Mann(enGo de Programas ,.,,.,,.,.,.,.,...,.,..,..,..,,.,.,'..,.,',.,.,,,.,.,,..,' ;": : : :':<":'::':+". ,..,,..,.,.,,,,,.,,.,,.,,.,,,,,.,.,,.,.,,,.,.,,.,.,,..,, ";": :' Suporte para Interfaces Homem- -M:iquina ProduCio ProducSode Sistemes (incluindo compiladorese editoms de ligaCs - /inkers) Suporte A GestAo de BD de Documentos ConflguraC6es e a Gesmo do Projecto `,1 BO de Relahos de Eo SEPPM Sistema de Monitori2;do do SEPP Sistema de Gestao dos Testes [:: Finan as Contabilidadede Esforo (homens horn) Figura 1: O SEPP-CM esta embebido no processo SEPP. Na fl&urn 1 tambm $50 indicadas ferramentas (per exemplo, compiladores) do ambiente de desenvolvimento Que,fendo uso do SEPP-CM, permitem ger todo o sistema fin (constiido por pro execuveis, ms, coccHes porpatches, etc.) 132 A flgura 2 da uma perspectiva geral da estrutura do sistema SEPP"CM, mostrando as suas principals componentes. Figura2: A estruturado SEPP"CM As tarefas do sistema SEPP-CM apoiam as actividades das equipas de desenvolvimento de software de acordo com o processo SEPP. Estas tarefas s8o de seguida apresentadas: 2.1. Co}ecfAo e srmuenamento dos result&dos (= objectos) de Lodes as lases do SEPP Os resultados s80 colocados disponiveis come uma base de logistica e de integra8o, para o desenvolvimento, produ98o e manutenAo de software. Os principals objectos armazenados no sistema SEPP"CM 520 OS seguintes: * "Folha de facilidade" - documento descrevendo, sob a forma resumida o requisite de uma facilidade a realizer, por exemplo, a pedido de um cliente. * Documentos - especificaJes de requisites, funcionais, desenho; manuais de operador; especificag6es de teste. * Programas foute (sources) e listas de liga8o (/ink"/ists). * Interfaces homem-m8quina especificaHes de comandos e respostas do sistema, embutido com instruHes para o operador. * Relat6lios de result&dosde inspecC6es (por exemplo, revis5es de c6digo). * Relat6rios de falhas - docurnentos relatando falhas no sistema (per exemplo, falhas ocurridas na instalaBo do cliente), incluindo a sua descriho e soluho- * Listas de teste - documentos especificando Ostestes a reali 133 * CorrecJes - patches (scrtLes de comandos do sistema) que uma vez executadas no sistema corrigem perJes do programs executavel; ou conselhos ao utilizador final do sistema de software. 0 sistema SEPP-CM assegura a consistncia dos objectos, controlando a correct& interligao entre eles. A titulo de exemplo, citam-Se algumas interligaJes: . As "folhas de facilidade" indicam que documentos e programas t8m que ser alterados ou realizados, para cumprir o requisito Que descrevem. . . Os programas route referem sempre as especi6ca6es que os descrevem. Os relat6rios de falha contm ligaJes aos programas route e/ou documentos - (per exemplo, manuals de operador) Queforam corrigidos. 2.2. Colec95o e disponibiRzafAo de dados e atributos administrativos sobre Os - objectos For exemplo, a cada programs route eso assign&dosdados e atributos tais como: . Nome do autor, unidade organizacional e contacto (no. de telefone). . Departamento responsavel pelo teste de sistema. * Frojecto de que faz parte (por exemplo, identifica&o do cliente e n1m1erode verso). . Estado durante a lase de desenvolvimento (por exemplo, c6digo completo, c6digo inspeccionando, testes terminados). . Datas planeadas e reais de obten&o de cada estado (para permitir a monitoriza8o do progresso dos projectos). 2.3. ProtecC5o dos objectos contra mutilaCAo ou destruiC5o A protecAo 6 assegurada por meio de procedimentos de salvaguarda diarios e automaticos e restri5es de acesso. -- 2.4. Rastreabilidade continua da responsabilidade For eada objecto, Has sums . diversas variantes e versSes For exemplo, o mesmo programs route que seja alter&doem diversas variantes, para ~ . clientes diferentes, mantem associado a cada variante a unidade organizacional .' responsavel por essas altersJes- 2.5. Reproducibilidade . A partir de listas de liga8o, armazenadas e controladas pelo SEPP-CM como qualquer outro objecto, utilizando as ferramentas de produ&o de sistemas, possivel gerar qualquer sistema (programa executavel, manuals de operador, etc.) em qualquer - altura- 2.6. Identiflca95o univoca dos objectos A identificako dos objectos 6 assegurada a partir de convenJes de estrutura&o em arvore e de nomeako dos objectos. Deste modo, citando apenas alguns exemPlos, 6 possivel identificar para um determinado objecto, a sua natureza (documento, c6digo, relat6rio de falha, etc), para Queprocessador do sistema Se destina, qual a linguagem de program&Ao ou qual a sua variante e nlnrlero de vers8o. 2.7. Cumprimento das determinaf6es e re&Fas do processo de desenvolvimento SEPP Atraves da utiliza5o dia do sistema SEPP-CM, 6 assegurado Que Os objectos e a sua mampulaAo est5o conformes o SEPP. Referindo apenas alguns exemPlos, o sistema SEPP..CM verifica as interligaHes entre objectos, a corrects estrutura de 134 documentos e programas fonte, ou a posterior corre&o em programs fonte de urns falha Corri&idsporpatch. - 2.8. DisponibilizaGAo de informac5o sobre o progresso dos projectos - O sistema de monitorizao do SEPP (SMS) permite, para um dado projecto, emitir um relat6rio indicando o seu progresso, relativamente a um determinado marco (milestone) do SEPP. Por consultas as bases de dados dos objectos relevantes para ^ esse marco, o SMS compara os estados dos objectos e suns datas de obten8o desses estados com as datas planeadas para o marco em causa, detectando Os objectos Que esto dentro e fora do piano do projecto. - 2.9. Monitoria e controle das modificac6es e correcc6es ao produto Por exemplo, as modifiesHes ao produto s8o controladas pelas ligaC6es "folha de facilidade" - especiflcacdes - prograrnas foute, enquanto que as correc95es em c6digo executavel o documentadas pelas rein6es patches - relat6rios de falhas - programas fonte e/ou documentos. - 2.10. Disponibilizaq50 de dados para o cdleulo de m6trieas da qualidade e estatisticas Urns das m6tricas em uso na SIEMENS mede a densidade de erros encontrados por cads milhar de linhas de c6digo revisto. Outra m6tries relaciona o nnrr1ero de falhas reportadas pelo cliente durante o primeiro ano de opera8o do produto, com o nnrr1ero de linhas de c6digo fonte alterado. O sistema SEPP-CM proporciona relat6rios que calculam m6tricas como as acima indicadas, por consulta as bases de dados de programas route, de relat6rios de resultados de inspec6es e de relat6rios de falhas. -- 2.11. Interface para a eontabilidade do esforGo (Romeos horn) dos projeetos O SEPP-CM proporciona interfaces consistentes para o sistema de contagem de horns, . por forms a obter dados detalhados por eas de desenvolvimento (ao nivel do subsistema), pelas diversas lases do processo e por tipos de actividade (pol exemplo testar, codificar, documentar). _- 2.12. Acesso electr6nico a grupos de utilizadores autorizados O acesso e permitido a utilizadores da SIEMENS e companhias associadas, de todo o - mundo, Segundo perfis (por exemplo, gestores de projeeto, responsaveis pelo desenvolvimento, respons8veis pelo teste de sistema). 2.13. DocumentaqAo do processo de desenvolvimento, produG50 e manutenGAo de software - O SEPP-CM armazena e controls dados que documentam electronicamente o cumprimento do processo SEPP, de acordo com Os principios da norma ISO 9001. Alguns exemplos destes dados incluem a deflni&o de resPonsabilidades, datas de - RhettaAo (re/ease) de sistemas e evidencingAodos testes realizados' 135 O sistema SEPP-CM esta construido com base no sistema de base de dados relacional ADABAS e cont6m dados administrativos e atributos dos objectos, bem como reposit6rios para armazenamento dos objectos (ver figura 2). O sistema esta dividido em cinco areas principals; * Interface com o utilizador * Fun6es especificas do tipo de objecto * Reposit6rio de dados * AdministraAo das bases de dados * SGBD ADABAS, incluindo funJes basleas ADABA e DBCTR O SEPP-CM corre num sistema MVS (IBM) central, no centro de ca"[culoda divis8o de redes pblicas da SIEMENS AG, em Munique, RFA. O acesso 6 possivel a partir de qualquer ponto do mundo, por emulaAo de terminal e transferncia de ficheiros. No acesso ao SEPP-CM, cada base de dados especifica de um tipo de objectos contm um logotipo, incluindo a vers&De e data da sua liberta&o (re/ease), hem como o contacto do respectivo administrador. O drnbl.todo SEPP-CM requer que sejam obedecidos os seguintes principios: Os objectos nAosAo apagados, uma vez entregues no SEPP-CM (excepto quando apagados pelo administrador). Os objectos armazenados nAo podem ser alterados. As altera6es so s6 permitidas por meio de nova entrega com ntnnero de versSo incrementado. Muitos dos atributos dos objectos t6m um ntnnero limitado de valores possiveis (por exemplo, as linbas de produtos, os identificadores dos clientes, os ntrmeros das vers6es do produto, os nomes das unidades organizacionais). Estes valores eso armazenados sob a forms de Dados Basicos (ver figura 2) e s6 podem ser alterados pelos adrnim'stradores. Os vaiores dos atributos e as interligaBes entre objectos SADverificadas quando da entrega dos objectos no SEPP-CM; qualquer inconsist6ncia toms impossivel a sua entrega. 136 A seguinte tabela mostra o volume de dados armazenados no SEPP-CM (valores estimados de 3/95), relativamente ao software do comntador EWSD, para cerca de 15 --- libertaJes (re/eases) do sistema de base e adaptaHes especificas para de cerca de 90 paises: SD de BO de BO de BD de BO de BD de BD de Facili- Docu- Programas Testes Resulta- Correc6es Interfaces dades mentos dos de Homem- InspecJes Nnmero Total de 80,400 34,600 560,000 50,000 36,000 270,000 69,000 Objectos NO;merode Objectos, 48,000 26,000 138,000 43,000 36,000 270,000 69,000 on-line Ritmo Diario de 50 28 400 80 40 I 240 I 38 Entregas Volume de 175 M 15 G 70 0 600 MB 5 MB 20 80 Dados Tabela I : O volume de dados armazenados no SEPP-CM (centro de ca1culo da divisBo de redes pnblicas da SIEMENS AG, em Munique, RFA) 4. c 6L' ` ae - a a a tia da A acentuada correspond8ncia entre o sistema SEPP-CM e o processo SEPP tern mostrado o sen importantfssimo papel na garantia da qnalidade. Na SIEMENS, este facto e sentido desde ha cerca de 8 anos, quando a actividade na area de software para sistemas de telecomnnicaJes foi iniciada em Portugal. Ao longo deste tempo, a utilize5o do SEPP e do SEPP-CM fez com Queas equipas de desenvolvimento pudessem "viver" diariamente o processo de desenvolvimento, Produo e manutenAo de software e o sistema de gesmo de confignraG5es, de tal forms Que a sua aplicao Se tomou "natural". Pode-Se dizer Que Se tomou fdcil promover Os asPectos principals da garantia da qnalidade de software, Segundo Os principios da norma ISO 9001, fazendo uso do SEPP e SEPP-CM. Deste modo, nAo constituiu surpresa a certifica20 da SIEMENS (Departamento de Comutac50 e Software) Segundo esta norma em Dezembro de 1994, pelo Institnto Portugues da Qualidade. A certificaBo fol concedida no bito da .comercializa50, projecto, v montagem, coloca80 em servio e assistncia temica de sistemas de comno e transmissBo digitais". 137 Durante o processo de certifico, verificou-se a impocia de alguns aspectos do SEPP"CM, na maneira como influenciam a garantia da qualidade em projectos de software de grande dimenso: . 0 controlo das entradas e saidas de cada fase assegura o cumprimento do SEPP. . Os processos de modificao e correco do produto no permitem actividades no controladas ou nAoautorizadas. . Atribuio Clarade responsabilidades. . Reproducibilidade disponivel a qualquer momento. . Identificao univoca dos objectos. . Os sistemas de geso de testes e de monitorizao do SEPP so a base para a evidenciao dos testes e da qualidade. . As metricas da qualidade so calculadas com base nos dados e atributos contidos no SEPPCM. -,IA - [Almeida95l "SEPP: o Processo de Desenvolvimento, ProducAo e Manuteno de Software para Sistemas de Telecomumca6es", Enga Leonor Almeida Eng' Nuno Nascimento, Engo Luis Pinto, Actas do QUATIC '95, 4- 6.12.95, LNEC Lisboa 138 QUATIC 95 2'Encontro Nacional para a Qualidade Has Tecnologias de Informac50 e Comunicacdes LNEC, Lisbon, 4-6.12.95 Biografia dos Autores da Comunicaq50 "Gest5o de ConfiguraCSes de Software de Sistemas de Telecomunicaq6es" - Engo.Carlos Rydin Nascimento: Lisboa, 05.06.61 Grauacad6mico: Licenciatura em EngaElectrot6cnica - TelecomunicaJes e Electr6nica, - pelo IST, em 1984 Dados Proflssionais: Investigador do INESC, de 1983 a 1987 Assistente estagiario da SecAo de Telecomunica6es do IST, de 1984 a 1986 Ingressou na EMPTEL/SIEMENS em 1987, no desenvolvimento de -- software para o sistema de comuta&o digital EWSD, na area de TMN Neste momento desempenha o cargo de Chere de Diviso de Software de Base -- Bra. Odete Corti9o Nascimento: Montijo, 13.01.65 -- Grau academico: Licenciatura em Cincia da Compute&o - Matematics Aplicada, pela FCL, em 1987; Parte escolar de Mestrado em Cincia da ComputacAo,pelo IST, em r. 1989 Dados Profissionais: Monitora na FCL de 1985 a 1986 Esta&Ioprofissionalizante na Cassel Data de 1986 a 1987 Assistente estagiaria da Sec8o de Matematics do IST, de 1987 a 1989 Investigadora do INESC, de 1987 8 1989 Ingressou na EMPTEL/SIEMENS em 1989, no desenvolvimento de software para o sistema de comuta&o digital EWSD, na area de TMN Neste momento desempenha o cargo de Chere de Sector na area de ~- TMN Enga. M Jo5o Patr5o Nascimento: Lisboa, 30.08.64 Gran academico; Bacharel em En de Electr6nica e TelecomunicaJes, pelo IPE, em 1986 -- Dados Profissionais: Esta&lono CET em Aveiro, de Outubro de 1986 a Maro de 1987 Estagio na Ale&tel,de Abril de 1987 a Junho de 1987 Ingresso na EMPTEL/SIEMENS em Junho de 1987, no - desenvolvimento de sorlware para o sistema de comutaBo digital EWSD, nas area de Traffic Measurement/Management e Routing. Desde Outubro de 1993 desempenha o cargo de Chere de Sector nas - areas mencionadas. -, 139