Introduction to the Personal Software Process (1)

Embed Size (px)

Citation preview

  • 7/25/2019 Introduction to the Personal Software Process (1)

    1/50

    PRO2 - 1

    Introduccin al Personal

    Software ProcessSWENET PRO2 Module

    Developed with support from the National Science Foundation

  • 7/25/2019 Introduction to the Personal Software Process (1)

    2/50

    SWENET PRO2 - 2

    Descripci Ge eral

    Procesos Principales o fundamentales

    PSP Conceptos y estructura

    PSP Planeacin y Medicin

    PSP Gestin de la Calidad PSP Resultados

    Referencias

  • 7/25/2019 Introduction to the Personal Software Process (1)

    3/50

    SWENET PRO2 - 3

    Software Processes 1

    En las ltimas dcadas se ha producido una cantidadmuy grande de recursos dedicados a la definicin,implementacin y mejora de los procesos para eldesarrollo de software

    !na lista de referencias al final de esta presentacinse refiere a documentos "ue proporcionanantecedentes y discusin para su posterior estudiode las caracter#sticas del proceso de software y suspro$lemas

  • 7/25/2019 Introduction to the Personal Software Process (1)

    4/50

    SWENET PRO2 - 4

    Software Processes 1

    !n proceso es una serie de elementos de entrada"ue incluyen, etapas, actividades restricciones yrecursos y "ue producen una salidad prevista dealgun tipo

    !n proceso de software %o un proceso de ingenier#ade software& gu#a y apoya el dise'o y desarrollo deun producto de ela$oracin de software

  • 7/25/2019 Introduction to the Personal Software Process (1)

    5/50

    SWENET PRO2 - 5

    Software Processes 2

    Un proceso de software "definido" tendra una

    descripcin documentada de sus caractersticas

    que normalmente abarcaran las siguientes

    !n diagrama grafico "ue mostrara la secuencia del

    proceso, %Scrips& conceptos y descripcin "ue definenlos pasos del proceso

    (tricas "ue lo miden y cuantifican

  • 7/25/2019 Introduction to the Personal Software Process (1)

    6/50

    SWENET PRO2 - 6

    Software Processes 2

    Formularios y plantillas para reca$ar datos delproceso y documentacin de los resultados delproceso

    Normas y procedimientos documentados para llevar

    a ca$o cada uno de nuestros pasos del proceso

  • 7/25/2019 Introduction to the Personal Software Process (1)

    7/50

    SWENET PRO2 - 7

    Un Marco de Proceso) finales de *+- .atts /umphrey en el 0nstituto

    de 0ngenier#a de Software %SE0&, 1arnegie (ellon!niversity de 2itts$urgh, desarroll el S.31((%1apa$ility (aturity (odel Software& para ayudar a

    las organi4aciones a construir procesos deingenier#a de software eficaces 52aul6 *++78 /asido ampliamente adoptado en la industria, so$retodo por las organi4aciones de desarrollo desoftware de gran riesgo y tama'o

  • 7/25/2019 Introduction to the Personal Software Process (1)

    8/50

    SWENET PRO2 - 8

    n Marco de Proceso

    9a siguiente diapositiva descri$e el modelo decinco niveles "ue a$arca $uenas pr:cticas deingenier#a y de gestin

  • 7/25/2019 Introduction to the Personal Software Process (1)

    9/50

    SWENET PRO2 - 9

    n Marco de Proceso

    El modelo se $asa en pr:cticas efectivas deingenier#a de software denominadas ;reas 1lavede 2roceso %

  • 7/25/2019 Introduction to the Personal Software Process (1)

    10/50

    SWENET PRO2 - 10

    SW!"MM #e$els

  • 7/25/2019 Introduction to the Personal Software Process (1)

    11/50

    SWENET PRO2 - 11

    SW!"MM %ssess&ent251 organ!a"ons #SEM$ 2015%

  • 7/25/2019 Introduction to the Personal Software Process (1)

    12/50

    SWENET PRO2 - 12

    PSP "oncepts

    El 2ersonal Software 2rocess S( %2S2S(& es elproceso para desarrollo de software en el SE0 paraa$ordar algunas de las pr:cticas S.31(( a niveldel programador individual 5/umphrey *++=8

    El 2S2 ofrece un enfo"ue gradual "ue ayuda a losingenieros a desarrollar un >nivel => procesoindividual

    S( 2ersonal Software 2rocess and 2S2 are service mar6s of 1arnegie (ellon !niversity

  • 7/25/2019 Introduction to the Personal Software Process (1)

    13/50

    SWENET PRO2 - 13

    PSP "o cepts

    Para el entrenamiento de PSP! el personal utilia deacuerdo a esta metodologa el proceso PSPestablecido y deben ?eali4ar *- ejercicios de desarrollo de software

    midiendo y registrando los

  • 7/25/2019 Introduction to the Personal Software Process (1)

    14/50

    SWENET PRO2 - 14

    PSP Concepts

    2S2 induce una filosof#a de >auto3evaluacinA, esdecir, los ingenieros pueden utili4ar su propiainformacin y datos para determinar el valor de la2S2 %Determinando los

  • 7/25/2019 Introduction to the Personal Software Process (1)

    15/50

    SWENET PRO2 - 15

    Software En'ineerin' and t(e PSP

    #l PSP ofrece la oportunidad y el modelo paraincorporar las me$ores pr%cticas de ingenierade software dentro de un marco indi&idual enel proceso de fabricacin de software'

    Bhe 2S2 address@s *C of the S.31(( *

  • 7/25/2019 Introduction to the Personal Software Process (1)

    16/50

    SWENET PRO2 - 16

    Software En'ineerin' and t(e PSP

    (a informacin acerca del entrenamiento dePSP deben mostrar que el personal eingenieros me$oran su planeacin y sucapacidad para producir productos de mayor

    calidad sin incrementar los costos'

  • 7/25/2019 Introduction to the Personal Software Process (1)

    17/50

    SWENET PRO2 - 17

    PSP )e* Process %reas

  • 7/25/2019 Introduction to the Personal Software Process (1)

    18/50

    SWENET PRO2 - 18

    PSP "ourses

    (os cursos de curso PSP) No instruye completamente en la tem:tica de 2S2 ) menudo se ofrece como parte de estin de

    2royectos

    El curso completo de 2S2 es un curso de tressemanas y cuarenta horas por semana con un totalde *C- horas impartido por la !nivessidad de1arnigie (ellon

    !ses Introduction to the Personal Software Process

    5/umphrey *++8 !ses Discipline for Software Engineering 5/umphrey

    *++=8

  • 7/25/2019 Introduction to the Personal Software Process (1)

    19/50

    SWENET PRO2 - 19

    PSP Structure 1

    PSP*Proceso )ctual

    Mediciones b%sicas

    PSP+Medicin de estimacinReportes de re&isiones

    PSP,Re&isin de cdigosRe&isin de dise-o

    PSP./esarrollo cclico

    0eam SoftwareProcess

    Gestin de losRequerimientos y

    Configuracin

    PSP,'+Plantillas de dise-o

    PSP+'+Planificacin de tareas

    Programas calendariados

    PSP*'+

    Codificacin est%ndarPropuestas de me$ora

    Medicin del tama-o

    PSP componentsG process scripts

    G 1metrics2 benc3mar4sG forms! logs and templatesG standards

  • 7/25/2019 Introduction to the Personal Software Process (1)

    20/50

    SWENET PRO2 - 20

    PSP Structure 2

    2S2-H Esta$lece una linea $ase de medida inicialde rendimiento so$re el desarrollo de software

    2S2*H controla estimaciones de tama'o, recursos,tiempos y horarios

    2S2CH )prendi4aje so$re errores, defectos y recordy control de rendimiento

  • 7/25/2019 Introduction to the Personal Software Process (1)

    21/50

    SWENET PRO2 - 21

    PSP S"r&c"&re 2

    2S27H Escala los mtodos de 2S2 para grandesproyectos

    El 2S2 se puede eItender o ampliar para e"uiposde tra$ajo dentro del desarrollo de grandes

    desarrollo s de programacin y sistemas El 2S2 es un prere"uisito para gestionar Beam

    Software 2rocess BS2

  • 7/25/2019 Introduction to the Personal Software Process (1)

    22/50

    SWENET PRO2 - 22

    T(e PSP+ Process ,low

    PSP* Process

    5inis3ed product

    /e&elopment

    Planning

    Postmortem

    /esign

    Code

    Compile

    0est

    Requirements

    Plansummary

    Processscripts

    0imeand

    defectlogs

  • 7/25/2019 Introduction to the Personal Software Process (1)

    23/50

    SWENET PRO2 - 23

    PSP+ Process Script

  • 7/25/2019 Introduction to the Personal Software Process (1)

    24/50

    SWENET PRO2 - 24

    PSP Plannin'

    El 2S2 dirige y enmarca a los desarrolladores como puedenestimar y planear el tra$ajo

    9as claves de entradas para reali4ar la mejor estimacin yplanificacin sonH 0nformacin histrica relevante (todos estad#sticos slidos !n proceso $ien definido de planificacin y estimacin

    ) medida de "ue los desarrolladores ganan eIperiencia

    aprenden a reali4ar mejores estimaciones y planes

  • 7/25/2019 Introduction to the Personal Software Process (1)

    25/50

    SWENET PRO2 - 25

    Measure&e t i a Defi ed Process

    0nformacin histrica es necesaria para una efectivaplanificacin

    9a medicin nos indica donde cuando y como las tareasson desarrolladas y cumplidas

    9a informacin proporcionada por las mediciones esusada para evaluar y mejorar el proceso

    El proceso de 2S2 utili4a tres tipos de medicinH Esfuer4o %rendimiento& Bama'o

    Defectos

  • 7/25/2019 Introduction to the Personal Software Process (1)

    26/50

    SWENET PRO2 - 26

    Medc'n de( Rend)en"o

    El 2S2 mide el rendimiento como el tra$ajo reali4adoen minutos

    )propiado ta$to para pe"ue'os o grandes proyectos F:cil de medir y con precisin

    Se de$en mantener registros precisos de tiempodedicados a cada tarea de programacin

    ?egistros autom:ticos de tiempo son usados para lograreste propsito

    Biempos de interrupcin son considerados ydescontados del tiempo efectivo de desarrollo de

    tareas Se de$e computar el tiempo efectivo dedicado al

    desarrollo del software

  • 7/25/2019 Introduction to the Personal Software Process (1)

    27/50

    SWENET PRO2 - 27

    Biempos efectivos de desarrollo*

  • 7/25/2019 Introduction to the Personal Software Process (1)

    28/50

    SWENET PRO2 - 28

    Bime ?ecording 9og C

    Fase )note siempre la fase de desarrollo en la cual esta tra$ajando Ejem

    Dise'o

    Fecha ?egistre siempre la fecha de desarrollo de la tarea Ejem *C3-J3C-*=

    1omien4o ?egistre siempre la hora y compute en minutos a la hora "ue comien4a a

    desarrollar la tarea de la fase correspondiente Ejem **HC=

  • 7/25/2019 Introduction to the Personal Software Process (1)

    29/50

    SWENET PRO2 - 29

    Regs"ros de "e)*os 2

    Biempos de 0nterrupcin0nterruption ?egistre siempre los tiempos de las interrupciones por eventos

    fuera del desarrollo de tareas Ejem *= minutos de 1ofee Kra6e )ltoH 0ntrodu4ca el tiempo en minutos cuando deje de tra$ajar en

    una fase del proyecto, aun"ue no haya terminado con esa fase

    1omentariosH descri$aL El motivo de la interrupcin 9a tarea "ue esta$a haciendo 1ual"uier otra cosa "ue afecta significativamente el tiempo en su

    tra$ajo

  • 7/25/2019 Introduction to the Personal Software Process (1)

    30/50

    SWENET PRO2 - 30

    Medici del ta&a-o1

    Datos del tama'o se usan para estimar el tiempo dedesarrollo y el nmero de defectos esperados

    EIisten un nmero importante de criterios para para lograruna $uena medicin del tama'o estas mediciones (antiene una $uena correlacin con el rendimiento

    Biene una definicin precisa 2uede ser calculada autom:ticamente %2rocess Dash$oard Softwar& Este dato es importante para la planificacin Es significativa para el lenguaje, dise'o y mtodo de desarrollo

    9a estimacin del tama'o en l#neas de cdigo %9M1&

    satisfacen plenamente este criterio de medicin deltama'o

  • 7/25/2019 Introduction to the Personal Software Process (1)

    31/50

    SWENET PRO2 - 31

    (edicin del Bama'o C

    El 2S2 utili4a lineas de codigo para la medicin deltama'o

    EIisten varias maneras de interpretar o definir el

    significado de las lineas de cdigoH !n conteo fisico de 9M1 es el nmero de lineas en el "ue no sonconsideradas las lineas en $lanco ni las lineas de comentarios del codigofuente

    !n conteo lgico 9M1 se relaciona con el contenido lgico de unprograma pero depende del de la definicin "ue los programadoresdefinan como lineas logicas de 1odigo

    2or simplicidad, el 2S2 utili4a un est:ndar de codificacin "ue re"uiere"ue cada 9M1 lgico e"uivale a una l#nea f#sica

  • 7/25/2019 Introduction to the Personal Software Process (1)

    32/50

    SWENET PRO2 - 32

    Medc'n de de+ec"os 1

    !n defecto en 2S2 puede serH )lgo "ue de$a ser cam$iado o corregido por un error cometido en el

    dise'o o desarrollo del cdigo etc durante la fa$ricacin del software 1lasificacin de acuerdo al tipo estandari4ado de defecto

    2ara cada defecto, los estudiantes registran el tipode defecto, una descripcin del defecto, y eltiempo de solucin Bodos los cam$ios relacionados a un solo errowr se cuentan como un

    defecto)ll changes related to a single error are counted as one defect El tiempo computado a la solucin del defecto se registra en la fase en

    la cual el defecto apareci y es corregido Ejem 1ompilacin, prue$a !n registro de tiempo preciso se utili4a para este propsito

  • 7/25/2019 Introduction to the Personal Software Process (1)

    33/50

    SWENET PRO2 - 33

    ,e+ec" Recordng og1

    Student Date

    0nstructor 1lass

    2rogram

    Date DefNum

    Bype 2hase0njected

    2hase?emoved

    FiIBime

    Description

    type code name description

    doc *- Documentation comments, messagessyn ,* Synta6 spelling! punctuation! typos! instruction formats! etc'

    $ld 7- Kuild, 2ac6age change management, li$rary, version controlasg 7* )ssignment declaration! identifier names! scope! limits

    int 8* 9nterface procedure calls! conte6t clauses! and references! 9:;! user prompts!output labeling

    ch6 - 1hec6ing error messages, inade"uate chec6s and eIception handling

    dat - Data structure, contentfun

  • 7/25/2019 Introduction to the Personal Software Process (1)

    34/50

    SWENET PRO2 - 34

    Defect ?ecording 9og C Enca$e4ado3 )note el nom$re del desarrollador, la fecha el lider de

    proyecto y el nom$re o nmero de programa Fecha3 ?egistre la fecha en la "ue $rinco o se detecto el defecto y

    fu solucionado Nmero3 Entre con un nmero consecutivo para este defecto,

    empiece con el nmero * Bipo3 anote el tipo de defecto de acuerdo al estandar de defectos

    esta$lecido 0nyectado3 ?egistre la fase en la "ue considere "ue se cometio el

    defecto Eliminado3 )note la fase en la "ue fue encontrado y removido el

    defecto Biempo computado3 ?egistre el tiempo "ue llev remover eldefecto, trate de anotar el tiempo eIacto o a su mejor juicio

  • 7/25/2019 Introduction to the Personal Software Process (1)

    35/50

    SWENET PRO2 - 35

    Formulario de ?esumen de 2lanificacin

    os da"os )eddos se &"(!a

    *ara (a *(an+cac'n. e(

    seg&)en"o / e( an(ss de

    (as ac"dades de desarro((o

    de so+"are

    E( +or)&(aro de Res&)en

    de( P(an se &"(!a *ara (a

    graac'n de (os da"os de

    *(an+cac'n / res&)r (os

    res&("ados

    Ta(as 191 / 192 en (a#&)*re/ 1997% dan

    ns"r&ccones / &n ee)*(o

    *ara co)*(e"ar e(

    +or)&(aro

  • 7/25/2019 Introduction to the Personal Software Process (1)

    36/50

    SWENET PRO2 - 36

    PSP Resultados en la pr%ctica en la

    industria de desarrollo de Software

    $&n&e a ado a(g&nos casos no"a(es en a(g&nas nd&s"ras

    de desarro((o de so+"are se *resen"an. a *esar de &e no a sdo

    +ac( e( *rogra)a de PSP se an de"er)nado casos de :"o en

    a(g&nas nd&s"ras de so+"are En (a )a/or;a de (os casos dee aer &n ca)o c&("&ra( / cond&c"&a( *or

    *ar"e de (os ngeneros desarro((adores / dee ser ado*"ado / ada*"ado a()edo c&("&ra( de cada *a;s *ara e( do)no de s& a*(cac'n

    E( )arco "e'rco es consderado na)o(e *ara (ograr (os res&("ados en (a

    *rc"ca / e( ene+co econ')co / a( )o)en"o de &na a&d"or;a de

    cer"+cac'n

    PSP re&ere de )&ca dsc*(na &e e( *ersona( / (os e&*os

    desarro((adores "enen &e crear / )an"ener

    PSP d+c()en"e *odra )*(an"arse en organ!acones con &n ao ne( de

    )ad&re!

    Ma/ores res&("ados se an (ogrado c&ando se a (ogrado &na

    *ar"c*ac'n co)o e&*os de desarro((o de so+"are.

  • 7/25/2019 Introduction to the Personal Software Process (1)

    37/50

    SWENET PRO2 - 37

    PSP Resultados en la pr%ctica en la

    industria de desarrollo de Software

    Se *resen"an a con"n&ac'n res&("ados rea(es (ogrados en (a

    nd&s"ra de desarro((o de so+"are "o)ando co)o ee)*(o &na

    nd&s"ra en (a >nda

    Es"os ee)*(os re*resen"an e( aance (ogrado d&ran"e e(

    desarro((o de 10 *ro/ec"os consec&"os desarro((ados de esca(a

    n"er)eda *ara so+"are dedcado a( )aneo / con"ro( deco*adoras de &na )arca a(e)ana

    O"ros *ases es"an en

    s?desarro((o::::::::::::::::::::::::::

    S( Beam Software 2rocess and BS2 are service mar6s of 1arnegie (ellon !niversity

  • 7/25/2019 Introduction to the Personal Software Process (1)

    38/50

    SWENET PRO2 - 38

    +==> S#9 Study

    )ssignment )&erage

    +*=?87.,+

    *'.

    *'7

    *'8

    *'?

    *'>

    *' Computer, ppCJ37*, (ay *++

    5/ayes +8 /ayes, . and Mver, O., The Personal Software Process: An Empirical Studyof the Impact of PSP on Individual Enineers, 1(!PSE03+3B?3--*, Software Engineering0nstitute, 1arnegie (ellon !niversity, Decem$er *++

    5/umphrey *++=8 /umphrey, .atts S,A !iscipline for Software Enineerin, )ddison.esley, *++=

    5/umphrey *++8 /umphrey, .atts S, Introduction to the Personal Software Process,)ddison .esley, *++

    52aul6 *++78 2aul6, (ar6 1, et al, Capa"ility #aturity #odel for Software, Qersion **,1(!PSE03+73B?3-CJ, Software Engineering 0nstitute, 1arnegie (ellon !niversity, *++7

    5SE() C--78 Software Engineering (easurement and )nalysis, Process #aturity Profile:Software C##$ C%A IPI and SPA Appraisal Results$ &'' #id*ear +pdate , SoftwareEngineering 0nstitute, 1arnegie (ellon !niversity Septem$er C--7,httpHPPwwwseicmueduPsemaPpdfPS.31((PC--7sepSw1((pdf

    http://www.sei.cmu.edu/sema/pdf/SW-CMM/2003sepSwCMM.pdfhttp://www.sei.cmu.edu/sema/pdf/SW-CMM/2003sepSwCMM.pdf