"SEPP@1: O Processo de Desenvo!vimento, ProduC5o e ManutenC5o de Software para Sistemas de Te!ecomunica6es da S!EMENS"
Enga. Leonor Almeida Engo. Nuno Nascimento Engo. Luis Pinto
SIEMENS SA, Dep. Comuta8o e Software Av. Almirante Reis, 65 P-1100 LISBOA Tel: (01) 350 2000 Fax: (01) 350 2150/2054 Autores:
Empresa:
A presente comunica98o versa sobre o SEPP, o Processo de Desenvolvimento, Produ98o e Manuten98o de Software para Sistemas de Telecomunica9Jes da SIEMENS. Pretende dar uma ideia global de um piano que se destina a projectos de grande envergadura, como e o caso do desenvolvimento de software para sistemas de telecomunica96es pOblicas (por exemplo, o conhecido sistema de comuta98o EWSD). Sera tambem referida a import8ncia que o SEPP tern, quer na controlabilidade do processo, no sentido de se atingirem os objectivos qualitativos e quantitativos Dre-estabelecidos (qualidade do produto), quer na sua pr6pria evolu98o atraves da defini9;ao de registos de qualidade (qualidade do m6todo).
0 processo de desenvolvimenfo, produ96o e manuten98o de software (SEPP:
Software Engineering Process Plan) define um modelo de fases. Cada fase baseia-se nas actividades e resuitados da fase cronologicamenfe anterior. As fases s8o deiimitadas por base/ines (denominadas por Bnnn).
O processo SEPP define os resultados a serem produzidos em cada fase, controla as depend8ncias entre actividades necessarias para a obten98o desses resultados e determina as medidas de garantia da qualidade- Por oltimo, Para
lSEpPo um
copyn"ght da SIEMENS AG; SEPP
= Sofl:ware Engineering Process Planpag. 1 / II
91tornar possivel a monitoriza8o e gestSo do projecto, est5o incorporadas milestones no processo
A qualidade dOs resultados e assegurada por inspecJes e pelas fases de taste.
O processo SEPP a constituido pelas seguintes fases:
1. Analise 2. Desenho 3. Implementa8o 4. Taste de Jntegrao
5. Tests de Sistema 6. Opera8o
(Analysis) [
(Design) [
(Implementation) (Integration Test) (System Test) (Operation)
Planeamento
Nem todas as actividades necessarias ao desenvolvimento de um produto esto definidas no Processo de Desenvolvimento. No entanto, elas descrevem as interfaces entre os departamentos de desenvolvimento e os restantes envolvidos na globalidade do projecto (por exemplo Divis8o de Marketing, Divis8o de Servios, Divis8o ds Vendas). Actividades especificas podem ser omitidas ou subdivididas, consoante as caracteristicas do projecto, em coordena8o com a GestSo da Qualidads e do Projecto. .Sub-milestones podem ser criadas para as divsrsas partes do sistema do Projecto.
Todos os desviOs ao SEPP s8o documentados no respectivo Cademo de Projecto ou em documentos aprovados pela GestAo de Qualidade e Projecto.
Os pianos de desenvoivimento Segundo o SEPP:
*
definem as actividades a serem
realizadas e a sua verificaac em
cada fase de desenvolvimento;
*
estruturam
cada
fase
de
desenvolvimento
atraves
de
milestones
ciaramente definidos;
*
definem as medidas a tomar em termos de garantia de qualidade~
As directrizes para o desenvolvimento, produ80 e manutenAo de software constam do manual So/fware Engineenng Handbook (SEH8@2) e estSo de acordo com os requisitos da Norma de QuaJidade ISO 9001. O conteodo do SEH8 abrange directrizes individuals destinadas a execu
80correcta do processo de desenvolvimento em termos tecnicos e organizativos:
compreende directrizes para o processo de desenvolvimento;
define a estrutura dos resultados de trabalho;
define inspec6es e testes;
define nlvsis e metes de qualidads;
define as tarefas da GestSo de Projecto,'
regulamenta as interfaces tacnicas e organizativas.
2SEHE3c um
copyright da SIEMENS AG
pay. 2 / 11
92Cada rea funcional de desenvolvimento 6 obrigada a cumprir as directrizes, cabendo a responsabilidade da veri6ca
80do seu cumprimento ao respectivo responsvel de Projecto.
ll. Fases do processo SEPP
Na Figura 1 encontram-se descritas para cada fase sob a forma tabelar as actividades e Resultados associados assim como as tarefas de GestAo de Projecto e de Qualidade.
Pg plemendon Vacadon Omdon
Phase I A!ysis 2 Design 3 plemenu&on 4 te&don Test 5 System Test 6 Sup
Activities De g B
- Project goals 2
- Feamres 0
- System 0
archicmre
(/S D
` Gene e
schedule v
- Effo e
` Test !
requiremen6 o
P m e n t J o b
De g B
- Project goals 2
- Feamres 0
- System 0
archicmre
(/S D
` Gene e
schedule v
- Effo e
` Test !
requiremen6 o
P m e n t J o b
Defx
B
- C
B
3
4
- Commens
0
- OfHWe Tesu
0
0
0
- Intoaces
- PI e
D
Ingmdon
I
` Omdo
e
Test
m
sequence
s
p
logic
I
I
g
e
u
m
e C
n
o
t
m
I
P
o
I
n
e t
C
e
o
m P 1 e t e Defl
B
- C
B
3
4
- Commens
0
- OfHWe Tesu
0
0
0
- Intoaces
- PI e
D
Ingmdon
I
` Omdo
e
Test
m
sequence
s
p
logic
I
I
g
e
u
m
e C
n
o
t
m
I
P
o
I
n
e t
C
e
o
m P 1 e t e Defx
B
- C
B
3
4
- Commens
0
- OfHWe Tesu
0
0
0
- Intoaces
- PI e
D
Ingmdon
I
` Omdo
e
Test
m
sequence
s
p
logic
I
I
g
e
u
m
e C
n
o
t
m
I
P
o
I
n
e t
C
e
o
m P 1 e t e Defx
B
- C
B
3
4
- Commens
0
- OfHWe Tesu
0
0
0
- Intoaces
- PI e
D
Ingmdon
I
` Omdo
e
Test
m
sequence
s
p
logic
I
I
g
e
u
m
e C
n
o
t
m
I
P
o
I
n
e t
C
e
o
m P 1 e t e
-System don
-OWe st
(Funcon test)
- Ug e
development docemu
-Pl e
sm test -Genemte customer
denmdon a
d
5 0 0 F u n c t I o a C o m P I e
{
e Test:
1 feamres -HW/SW compadbdit"
- User Waces -laon Wteaces
-oughput a
relbHi - Cuswmer docenudon
Peo relee
6 0 0 S y s t e
R e I e a s e
M ombdi
of e to system Collect d evte field eeOnce
ResW
* Requirement
sci6caon
*Funcdo Sciflcation
*
Feamre da shee (LMA/)
*
Feamre package
*Pmject hok (include. QM
pl)
* Test
requirement pl_
ResW
* Requirement
sci6caon
*Funcdo Sciflcation
*
Feamre da shee (LMA/)
*
Feamre package
*Pmject hok (include. QM
pl)
* Test
requirement pl
* Design
. In!ine
* Integrated System
* Completely
* Report on
speciflcation
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modulea/classes
* System Test
documentation
AnaJysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* te Sysm
* Complely
* Rayon on
sindon
dmen
*Ud
tes rdy-
Fimt Occ
ume ce
development
to- Sysm
Applicadon
* Inace
* Test do. for
docemu
(FDA)
caogs
omWe t
*Customer
* Checkedut
*
Om tes
dcunt. ()
ccorner
* Fat
*SW Fcdo
meclses
* System Test
d7endon
ysis
u wi
dom
ciflcat.
Coemu
Wtecc
*earn&on
* Test sc.
' Kele Nodce
dedom
for ur
mst ca for
cosecdom
Wes
system ten
*
InWdon st
* Tfer
* Fat
sme&don
docant
Sdcs
*
Test
cHorn &
test ces for
Wgmdou st
* Design
. In!ine
* Integrated System
* Completely
* Report on
specification
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modules/classes
* System Test
documentation
Analysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* Integrated System
* Completely
* Report on
specification
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modules/classes
* System Test
documentation
Analysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* Integrated System
* Completely
* Report on
specification
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modules/classes
* System Test
documentation
Analysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* Integrated System
* Completely
* Report on
speciflcation
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modulea/classes
* System Test
documentation
AnaJysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fat
sme&don
docant
Sdcs
*
Test
cHorn &
test ces for
Wgmdou st
* Design
. In!ine
* Integrated System
* Completely
* Report on
speciflcation
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modulea/classes
* System Test
documentation
AnaJysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* Integrated System
* Completely
* Report on
specification
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modulea/classes
* System Test
documentation
AnaJysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
* Design
. In!ine
* Integrated System
* Completely
* Report on
speciflcation
documented
*Updated
tested and ready-
First Offlce
source code
development
to-use System
Application
* Interface
* Test docum. for
documents
(FDA)
catalogs
offline tests
*Customer
* Checkedcut
*
Offline tested
documentat. (draft)
customer
* Fault
*SW Functional
modulea/classes
* System Test
documentation
AnaJysis
units with
and functions
specificat.
Commen6
interface
*Documentation
* Test spec. aud
' Release Notice
and
definitions
for user
test cases for
corrections
interfaces
system test
*
Integration test
* Transfer
* Fault
specification
document
Statistics
*
Test
specifications &
test cases for integration test
Project Mge meat
. Genera project * ate T
handk oject HWok Project reH
Motor oject gss Re
Qux Mange meat
. Impecdon . I0600 . Imcon
* Ce review
*Te
* Ieden
* Test
* Test . Aysis of
we poWu
Figura 1: Esquema de fases e actividades do Processo SEPP
Fag. 3 / II
93De seguida faz-se uma breve descri(;;:8o para cada uma das fases.
A) Analise
Da fase da Analise constam as seguintes tarefas:
Analise para novos produtos
Analise para desenvoivimento adicional de produtos ja existentes Defini8o de facilidades.
No caso de haver um extenso nOmero de requisitos, e por vezes necessario que ocorram estudos preliminares. Durante a fase de Analise s8o tambem definidos detalhes nas especiflcaJes de requisitos e nas especificaJes funcionais, tais como a arquitectura do sistema ou os efeitos das varias facilidades nas unidades funcionais.
Levar a cabo um projecto signif/ca produzir um Caderno de Projecto e actualize-io a medida que aquele decorre com inicio nesta fase. Nele estS contido o calendario de Projecto, previs6es para o esforo de desenvolvimento, estrutura hierarquica e funcional para o Projecto, etc..
B) Desenho
Durante a fase de desenho, as unidades funcionais definidas na especiflcaao funcional s8o "refinadas" para novo ou adicional desenvolvimento. Ao fazS.-1o, ficam definidas, em detalhe, as interfaces operadorlsistema e sistema/operador. Sao iguaimente definidas e veriflcadas (via SEPP-CM~ ver/1/) interfaces entre as
unidades funcionais de Software.
C) Implementa8o
Durante a fase de implementa8o s8o implementadas as unidades funcionais em m6dulos individuals seguindo um metodo de desenho orientado por Fun8o ou por Objecto. As defini6es para as interfaces das unidades funcionais s8o completadas e as diversas fases de verificaAo da implementa8o s8o efectuadas atraves de varias ferramentas de SW de que o SEPP-.CM e um exempio. Adicionalmente, s8o
produzidas as especificaQJes de teste para a fase de Teste de Integra;;:So.
D) Teste de Integra8o
Durante os testes de IntegraQ8o, sAo testadas, em conjunto, as unidades funcionais de hardware e software por meio do sistema de Programas de Aplica80 para o desenvolvimento. A fase de Taste de Integra8o comea, de facto, durante as Oltimas actividades da Implementa80.
3SEPP..CM e um
copyright da SIEMENS AG
SEPP..CM = Software Engineering Process Plan - Configuration Management
pag. 4 / II
94-
r.
_-
.- '__
Dependendo da dimens8o do sistema, o periodo de testes funcionais pode ser dividido nas seguintes etapas:
FunV:6es 5851085 FunJes de Sistema FunJes de Aplica8o
Testes de fun96es em carga e esforgo.
A estabilidade de cada etapa e averiguada periodicamente de modo a que se possa iniciar rapidamente a seguinte, partindo de uma boa base. As orientaJes para os testes de Integra8o derivam directamente das especifica96es de Fun98o e de Desenho.
E) Teste de Sistema
Esta fase e iniciada com o chamado Teste de Qualifica80. Este teste destina-se a avaliar a qualidade do desenvolvimento, apontando pontos fracos e, eventualmente, de bloqueio.
Os testes de Sistema incluem ainda testes para avaliar o nivel de implementa
60das facilidades, nomeadamente, a sua estabilidade e operabilidade.
Uma configura8o representativa do sistema contituido por hardwarel firmwarel soffVvare (por exemplo uma central EWSD ou varias centrals EWSD com componentes para sistemas de comuta8o e transporte), constitui o objecto dos testes de sistema.
Para cada projecto piloto 6 produzida uma especifica98o de Teste de Sistema.
Durante esta fase, os problemas detectados s8o inseridos no SEPP'-CM, sendo as correc96es monitorizadas pela equipa de Teste de Sistema.
Os resultados de cada fase do projecto s8o sujeitos a inspecQ6es na altura prevista pelo SEPP e de acordo com as defini96es do manual SEHB.
As inspec96es decorrem normalmente em reuni6es ou atraves de comentario escrito e o SEHB define os metodos a seguir consoante o objecto inspeccionado.
Igualmente definido esta o processo de inspecC6es intensivas tambem adoptado pela Siemens (metodo de Fagan, ver /2/).
O resultado da inspec98o e documentado e arquivado respectivamente no SEPP-CM.
pag. 5 / 11
95IV. Crit4rios e Normas de Qualidade
Os Griterios de Qualidade e respectivos valores quantitativos para as varias baselines s8o usados como factores de avaliao de cada fase do Projecto.
Os criterios de Qua\idade s8o quantificados da seguinte forma:
\ndicaao, numa base percentua\, do grau de perfeiao de cada fase de desenvolvimento resultante da comparaQAo entre objectos planeados e objectos, de facto, imp\ementados.
Nomero de erros nAo corrigidos ate ao 8500 e 8600 (ver Figura 1)
NOmlero de erros detectados pelo cliente durante o primeiro ano de aplica8o.
Prioridades de erro e \!mites dos tempos de correc9So.
Para area de desenvolvimento definem-se os seguintes Registos de Qualidade Relat6rios de Inspec98o
Re\at6rios de auditorias
Relat6rios de transfer6ncia de Sistemas de Programas de Aplicag8o para o Teste de Sistemas e Servi~os
Relat6rios de Qualif!ca98o de Produto
Relat6rios do Sistema de planeamento central Actas de reuni6es Follow-up
Relat6rios do Sistema de Informa98o de Qualidade.
VI. Moth r m os Procer' c o E eciflc s r Ciiente No caso de projectos especi6cos para clientes, e tendo como objectivo reduzir o ciclo correspondente ao processo de desenvolvimento, sem prejuizo para a Qualidade, fol recentemente elaborado e posto em prStica uma evolug8o do SEPP, denominada "Procedure Descrip6on for the Deve/opment of Customer SpeciRc Projects"4.
Este tipo de projectos decorre de uma forma muito eficaz, tendo-se obtido urns redu98o do tempo medio de execu98o para 6-7 meses, assim como uma redu98o de custos de 25-30% por projecto.
4
Procedure Descnptjon for the Development of Customer Specific Projects e um copyright da SIEMENS AG"
Fag. 6 / 11
96A reduo drastica da dural;;:8o foi devido a:
Defini8o de um processo para desenvolvimento de projectos especificos para clientes dependendo da sua complexidade.
Trabalho de equipa
- Equipa de gestSo do projecto
- Equipa de desenvolvimento - Equipa de teste
Estruturaao da fuse de analise
Online-Test => Combinal;:8o do "Teste de Integrao" e "Teste de Sistema" - Monitorizal;:o
Redu1;;:
80da documenta
80Aloca
80consistente do pessoal envolvido Implementao do projecto num unico local
Melhoria continua
Feedback (influenciar o pr6prio processo atraves da
analise no final do mesmo.
Qualidade .
Namero de lathes ap6sentrega no diente em relac&o caste de desenvolvimento
[FMUMYI
, N6mere de alternc6a mo projecto - em media e par projeao
DuraC:5o .
eotre a":diJlse comp|etae entrega no cliente [ meses
1
Custos
. Castes por Projecto apedGco para clieote [MY]
69<=
\ 2.4
<=
l0.10,5
6
Figura 2: Me\horamentos conseguidos/planeados em telmos de Qualldade, Durao e Custos.
pag. 7 / 11
97Apresenta como principals me\horamentos, re\ativamente ao processo SEPP inicialmente descrito:
* Defini8o das Milestones do projecto dependendo da sua complexidade
AA 4 ^
T est specrfication + R aview I
I
I
I
I
I
I
I
I
/
I
I
I
,
I
I
P
I
/
I
I
I
j
I
I
B
,
I
I
.
I
i
I
J
I
I
!
I
3
P
r
I
J
I
A P S -8in g.u P
I
I
I
]
s
I
I
II
J
I
iMC,- b ashc
I
1
I
I
I
I
I
J
I
Regression OM]jMo Test
IO N P E P P ` P rod u kten tsteh ungsp roze B
Figura 3: Modefo para o planeamento de um projedo de 6 meses
* Reorganizal;;;Ao e intensifica98o da fase de analise
ON I ZPL PB 04/95 TN)LP-7129
Envolvendo desde o inicio todos os elementos Que ir8o participar no projecto, procura-se desse modo Que todos os requisitos sejam definidos o mais cedo possive\, assim como uma maior rapidez da fami\iariza8o do pessoal com o projecto.
* Adapta8o da documentaC8o para o projecto
Elabora98o de um Onico documento para todas as 8reas evitando assim a redundSncia e a dispers8o da informa80.
pag. 8 / II
98Projectos mdgos Projects actuals
Figura 4: Redu8o significativa da documenta8o do projecto eliminando redund8ncias
* Optimizal;;:8o da fase de teste, pela sobreposig8o dos testes de integraC8o e de sistema. Monitoriza8o continua da fase de taste.
)ntrodUzju-Se Um relat6rio de acompanhamento durante a fase teste com o seguinte conteOdo:
- " short status" e problemas criticos
- progresso do teste desde o relat6rio anterior - descri80 dos principals problemas
- ' .
-.-
A monitoriza80 continua do estado do teste permite reagir atempadamente, caso existam desvios em rela80 ao planeado, e tomar as medidas necessaries a sua correco.
* RevisSo do projecto por todos Os participantes, tendo como objective a discuss8o e a melhoria continua do processo.
O processo anteriormente descnto e um processo din8mico, dependendo Por isso do feedback dado pelos seus participantes.
Fag. 9 / 11 99
Durante a revis8o do projecto s80 identificados os aspectos, positivos ou negativos relacionados com o processo. Norma!mente, estes aspectos est5o relacionados com o pr6prio processo e a forms como fol vivido neste projecto em particular.
Este feedback e enviado aos responsavets pelo processo, Que os avaliarao e terSo assim oportunidade de reagir sobre o mesmo.
w
1
. Feedback I
PequenasadatptaGOes, Se necess6rio
Coatrolo
] 'lCoacheS1
Figura 5: Melhoria continua do Processo de Desenvolvimento de Projectos especificos para Clientes
VII Cone,usOes
O processo de desenvolvimento, produt;;:8o e manutent;;:8o de software para sistemas de telecomunica96es, SEPP, e os sous melhoramentos aqui apresentados resultam de um conjunto de directrizes bastante rigorosas, Que conduzem a um metodo uniforme e de grande fiabilidade, a um elevado nivel de qualidade do software produzido, a um controle perfeito para a gest8o de um projedo e prev6m mecanismos para o melhoramento continuo do pr6prio processo.
pag. 10 / II
100A qualidade do software produzido Segundo este processo foi reconhecida pelo Institute Portugu8s da Qua!idade (IPQ), com a atribui8o da certifica{;;;8o do Sistema de Garantia da Qualidade a Siemens - Departamento de Comuta(;;;8o e Software Segundo a norms ISO 9001 em Dezembro de 1994.
VIII Biblioqrafia
[Rydin 95] Gest8o de ConfigureAo de Software de Sistemas de
TelecomunicaJes, Engo. Carlos Rydin, Ora. Odets Gertio, Enga.
Ma. Joao Petro Actas do QUATIC95, 4 - 6.12.95, LNEC Lisboa.
[Fagan 76] Fagan, M, Design and code Inspections to Reduce errors in Program Development.IBM System Journal, No.3, 1976
Fag. ll / I I 101