El Ciclo de Vida de los Activos de Software PDF
Document Details
Uploaded by FeasibleHydrangea
UPC
Tags
Summary
Este documento describe el ciclo de vida de los activos de software, abarcando etapas como planificación, desarrollo, implementación y mantenimiento. Se explica el proceso en detalle y se presentan algunos modelos de desarrollo de software.
Full Transcript
38. El Cicle de Vida dels Actius de Software El cicle de vida dels actius de software és un marc de referència que descriu els processos, les activitats i les tasques involucrades en el desenvolupament, l’explotació i el manteniment d’un producte de programari. Aquest cicle abasta des de la definic...
38. El Cicle de Vida dels Actius de Software El cicle de vida dels actius de software és un marc de referència que descriu els processos, les activitats i les tasques involucrades en el desenvolupament, l’explotació i el manteniment d’un producte de programari. Aquest cicle abasta des de la definició fins a la finalització de l’ús del sistema. (ISO 12207). El ciclo de vida de los activos de software es un proceso que describe las etapas por las que pasa un software desde su concepción hasta su retiro o desuso. Estas etapas suelen incluir la planificación, el desarrollo, la implementación, el mantenimiento y la retirada del software: 1. Planificación: En esta etapa inicial, se determinan los objetivos y requisitos del software. Esto implica identificar las necesidades del usuario, definir el alcance del proyecto, establecer el presupuesto y crear un plan de desarrollo. La planificación es crucial para garantizar que el software satisfaga las necesidades del cliente y se ajuste a los recursos disponibles. 2. Desarrollo: Una vez que se completa la planificación, comienza la etapa de desarrollo. Aquí es donde los programadores y desarrolladores crean el software según las especificaciones establecidas en la etapa de planificación. Se utilizan diferentes metodologías de desarrollo de software, como Scrum, Agile o en cascada, dependiendo de los requisitos del proyecto y las preferencias del equipo de desarrollo. Durante esta etapa, se realizan pruebas continuas para garantizar que el software funcione correctamente y cumpla con los estándares de calidad. 3. Implementación: Después de que el software ha sido desarrollado y probado, se implementa en el entorno de producción. Esto implica instalar el software en los sistemas informáticos de los usuarios finales y realizar cualquier configuración necesaria. La implementación también puede incluir la migración de datos y la formación del usuario para garantizar una adopción exitosa del software. 4. Mantenimiento: Una vez que el software está en funcionamiento, comienza la etapa de mantenimiento. Durante esta fase, se realizan actualizaciones, parches y correcciones de errores para garantizar que el software siga siendo funcional y seguro. El mantenimiento también puede implicar la optimización del rendimiento y la mejora de la usabilidad del software en función de la retroalimentación del usuario y los cambios en los requisitos del negocio. Perfectiu: millora la qualitat interna dels sistemes, com per exemple el codi font i l'optimització del rendiment. Evolutiu: canvis que es realitzen en el programari per cobrir les noves necessitats de l'usuari. Adaptatiu: són les modificacions que afecten els entorns on el sistema opera, com el sistema operatiu i les bases de dades. Correctiu: són els canvis realitzats per solucionar errors de programari que no s'han pogut detectar a la fase de proves, o bé errors que s'han generat durant l'addició de noves característiques en el manteniment. 1 5. Retiro: En algún momento, el software puede volverse obsoleto o ya no ser útil para la organización. En esta etapa, se retira el software de producción y se eliminan los sistemas informáticos. Esto puede ser el resultado de la introducción de una nueva versión del software, cambios en los requisitos del negocio o la adopción de una solución alternativa. Es importante gestionar adecuadamente el retiro del software para minimizar cualquier interrupción en las operaciones comerciales y garantizar una transición suave a nuevas soluciones. En resumen, el ciclo de vida de los activos de software es un proceso que abarca desde la planificación y el desarrollo hasta la implementación, el mantenimiento y, finalmente, el retiro del software. Gestionar eficazmente este ciclo de vida es esencial para garantizar el éxito a largo plazo de cualquier proyecto de software. Models de desenvolupament de programari Model en cascada o model tradicional S'anomena "en cascada" per la posició de les fases de desenvolupament en aquesta, que fan la impressió que cauen com si fossin un salt d'aigua (cap avall). Cada fase comença quant finalitza l’anterior. S’assumeix que es coneixen tots els requisits. Es triga molt en disposar del SW. És el més fàcil de planificar. No involucra a l’usuari en el desenvolupament del projecte. Si l’usuari oblida especificar algun requeriment, el cost pot ser molt elevat. Model de prototip Construcció d'aplicacions (prototips incomplets) que mostren la funcionalitat del producte mentre està en desenvolupament, tenint en compte que el resultat final pot no seguir la lògica del programari original. Permet donar a conèixer al client els requeriments del programari en les primeres fases del procés de desenvolupament. També ajuda els desenvolupadors a entendre que s'espera exactament del producte en fase de desenvolupament. 2 Les fases de desenvolupament del model de prototip de programari són: Identificació dels requeriments bàsics. Entendre les bases del producte en terme d'interfície d'usuari. Desenvolupar el prototip inicial. Anàlisi del prototip. El prototip és presentat al client, es recullen les opinions de manera organitzada per a futurs canvis. Revisió i millora del prototip. Amb les opinions aconseguides, es discuteixen les possibles millores al prototip original. Model de desenvolupament incremental Consisteix a anar incrementant el contingut del model fase per fase (disseny, implementació i fase de proves) constantment fins a acabar el programari. Inclou tant el desenvolupament del producte com el seu posterior manteniment. En el model de desenvolupament incremental: Repeteix varis cicles de vida en cascada, on totes les fases en cascada formen part d'una petita part del sistema, fins a obtenir un producte complet. Com aplica models en cascada, després de cada iteració es pot fer una revisió per comprovar que tot ha anat correctament, i es pot canviar les errades que s'hi poden haver trobat. Al final de cada cicle s’entrega una versió parcial del SW incrementat amb certa funcionalitat nova respecte a l’anterior. El client disposen abans del SW, encara que no sigui complet i poden suggerir millores (nous requisits). L'enviament del producte inicial és més ràpid i pot ser més barat, però el producte resultant pot ser molt més car del previst. 3 Model de desenvolupament iteratiu Repeteix diversos cicles de vida en cascada. S’utilitza per desenvolupaments amb requisits poc clars. Al final de cada cicle s’entrega una versió completa del SW millorada respecte a l’anterior. Els cicles es repeteixen fins obtenir un producte satisfactori. Les primeres versions poden ser prototipus que van a la brossa posteriorment. Els usuaris han d’avaluar el producte a cada iteració i proposar millores. Model espiral Les activitats d'aquest model es conformen en una espiral, en la qual cada bucle o iteració representa un conjunt d'activitats. Aquestes activitats se seleccionen segons el factor de risc que representen, començant pel bucle anterior. Els principis bàsics d'aquest model són: 1. El model se centra en l'avaluació del risc que es produeix i en la minimització del risc partint el projecte en diferents segments més petits i proveint facilitat de canvis en el procés de desenvolupament. 2. Cada cicle consta d'una progressió per la mateixa seqüència de passos, per cada part del producte i per cada un dels seus nivells d'elaboració. 3. Cada viatge per l'espiral travessa quatre quadrants: 1. Determinació d'objectius 2. Identificació i resolució de riscos 3. Desenvolupament i proves 4. Planificar la següent iteració 4. Cada cicle comença amb una identificació de les seves condicions de victòria. 4 Model de desenvolupament àgil Amb "model de desenvolupament àgil" ens referim a un grup de metodologies de desenvolupament programari basades en el desenvolupament iteratiu, on requeriments i solucions evolucionen via col·laboracions entre equips organitzats. S'utilitza el desenvolupament iteratiu com a base per a advocar un punt de vista més lleuger i centrat en les persones que en el cas de les solucions tradicionals. Els processos àgils utilitzen retroalimentació en comptes de planificació com a principal mecanisme de control. Aquesta retroalimentació es canalitza per mitjà de proves periòdiques i versions freqüents del programari. Codificació i correcció La idea del model de codificació i correcció és crear immediatament un codi i, en cert punt, començar a provar-lo per detectar els errors inevitables que hi haurà abans de l'entrega final del programari. Aquest model no és tant una estratègia com les que hem conegut fins ara, si no es podria definir com una solució a causa de falta d'experiència o pressió sobre els desenvolupadors quan es van acostant a una data d'entrega. Aquest procés de codificar sense pla se'l coneix també com a cowboy coding. Models de millora de processos ISO/IEC 12207 És un estàndard internacional que descriu el mètode per a seleccionar, implementar i monitorar el cicle de vida per al programari. Integració de Models de Maduresa de Capacitats (Capability Maturity Model Integration - CMMI) És un dels models líders basats en millors pràctiques. Són avaluacions independents les que confirmen el grau amb el qual una organització segueix els seus propis processos, que no avalua la qualitat dels processos o del programari que es produeix. Aquest model té un àmbit global i no només està destinat al desenvolupament del programari. ISO 9000 Descriu uns estàndards per a un procés formalment organitzat amb la intenció de manufacturar un producte i els mètodes de comandament i monitoratge del progrés. Tot i que aquest estàndard va ser creat originalment per al sector de la manufacturació, els estàndards 5 ISO 9000 s'han aplicat al desenvolupament de programari també. Com el CMMI, no garanteix la qualitat del resultat final, només que s'han seguit els processos formals d'empresa. ISO/IEC 15504 També conegut com a Software Process Improvement Capability Determination (SPICE), determina la capacitat de millora del procés de programari. Aquest estàndard té com a objectiu un model clar per a poder comparar processos. SPICE s'utilitza com en el CMMI. Modela processos per gestionar, controlar, guia i monitorar el desenvolupament del programari. Aquest model s'utilitza per mesurar el que una organització o projecte fa durant el desenvolupament del programari. Aquesta informació ajuda a identificar punts dèbils i definir accions per a fer els canvis de millora. També identifica punts forts que poden adoptar-se a la resta de l'organització. Metodologia de sistemes lleugers (Soft Systems Methodology) Mètode general per a la millora de processos de gestió, serveix per abordar situacions problemàtiques en sistemes amb problemes lleugers. Enginyeria del mètode En el camp de la informació de sistemes, és la disciplina per a construir nous mètodes de mètodes ja existents. Se centra en el disseny, construcció i avaluació dels mètodes, tècniques i eines de suport per al desenvolupament de sistemes d'informació. Millora la informació rebuda dels processos del sistema. 6 El cicle de vida del desenvolupament de programari (SDLC) És un procés eficient i econòmic utilitzat pels equips de desenvolupament per dissenyar i crear programari de alta qualitat. L’objectiu del SDLC és minimitzar els riscos del projecte per mitjà d’una planificació anticipada que permeti que el programari compleixi les expectatives del client durant la fase de producció i posteriorment. Aquesta metodologia estableix una sèrie de passos que divideixen el procés de desenvolupament de programari en tasques assignables, completes i mesurables. Mentre que el cicle de vida dels actius de software es centra en tot el procés des de la definició fins a la finalització de l’ús del sistema, el cicle de vida del desenvolupament de programari es concentra específicament en les fases de disseny, desenvolupament, proves, desplegament i manteniment del programari. El ciclo de vida de los activos de software (SLC, por sus siglas en inglés, Software Lifecycle) está estrechamente relacionado con el SDLC (Ciclo de Vida del Desarrollo de Software, en inglés SDLC, Software Development Life Cycle). El SDLC es un marco de trabajo utilizado para describir las etapas y actividades involucradas en el desarrollo de software, desde la concepción de la idea hasta la entrega del producto final. Las etapas típicas del SDLC incluyen la planificación, el análisis, el diseño, la implementación, las pruebas, el despliegue y el mantenimiento. Por otro lado, el SLC se enfoca específicamente en el ciclo de vida completo de los activos de software, lo que incluye no solo el desarrollo, sino también la planificación, la implementación, el mantenimiento y la retirada del software. Es decir, el SLC abarca un espectro más amplio que el SDLC, ya que considera no solo las etapas de desarrollo, sino también todas las etapas posteriores, desde la implementación hasta la retirada del software. Aquest cicle abasta tota la vida del sistema, des de la definició dels requisits fins a la finalització del seu ús. 1. Què és el SDLC? o El SDLC és un procés sistemàtic i estructurat que els equips de desenvolupament segueixen per dissenyar, crear i lliurar software de qualitat. o L’objectiu del SDLC és minimitzar els riscos del projecte mitjançant una planificació anticipada que asseguri que el software compleixi les expectatives del client durant la fase de producció i després. 2. Per què és important el SDLC? o El desenvolupament de programari pot ser complex a causa dels requisits canviants, els avenços tecnològics i la col·laboració interfuncional. o El SDLC ofereix un marc de treball sistemàtic amb lliuraments específics a cada etapa del procés de desenvolupament. o Algunes avantatges del SDLC inclouen: ▪ Major visibilitat: Totes les parts interessades estableixen els objectius i requisits de desenvolupament abans de començar. ▪ Estimació i planificació eficients: Es planifica i programa el projecte adequadament. 7 ▪ Millora de la gestió de riscos i estimació de costos: Es redueixen els riscos i es controlen els costos. ▪ Entregues sistemàtiques i satisfacció dels clients: Els lliuraments són previsibles i satisfan les expectatives. 3. Com funciona el SDLC? o El SDLC descriu diverses tasques necessàries per crear una aplicació de programari. Algunes fases comunes són: ▪ Planificació: Recopilació de requisits, anàlisi de costos i beneficis, programació i estimació de recursos. ▪ Disseny: Identificació de solucions, elecció de tecnologia i integració amb infraestructura existent. ▪ Implementació: Creació del codi i proves. ▪ Proves: Verificació i validació del software. ▪ Desplegament: Lliurament del software als usuaris finals. ▪ Manteniment: Correcció d’errors i actualitzacions. En resum, el SDLC és fonamental per a la creació de software de qualitat i per assegurar que compleixi les expectatives dels clients al llarg de tota la seva vida útil. 8 Preguntes test 1. ¿Qué es el proceso del ciclo de vida del desarrollo de software? o a) Crear software de alta calidad en el menor tiempo posible. o b) Desarrollar sistemas comerciales funcionales a gran escala. o c) Producir software de alta calidad con prontitud. o d) Realizar una investigación exhaustiva sobre el producto a desarrollar. 2. ¿Cuáles son las 7 etapas del ciclo de vida del desarrollo de software? o a) Planificación, análisis, diseño, codificación, pruebas, implementación y mantenimiento. o b) Investigación, desarrollo, implementación, pruebas, mantenimiento, entrega y soporte. o c) Diseño, desarrollo, pruebas, implementación, mantenimiento, documentación y formación. o d) Análisis, diseño, codificación, pruebas, despliegue, mantenimiento y auditoría. 3. ¿Cuáles son los diferentes modelos SDLC? o a) El modelo de cascada, el modelo V, el modelo iterativo, el modelo en espiral y el modelo ágil. o b) El modelo de prototipo de software, el modelo del Big Bang, el modelo RAD y el modelo Scrum. o c) El modelo en espiral, el modelo V, el modelo ágil, el modelo RAD y el modelo Scrum. o d) El modelo iterativo, el modelo de cascada, el modelo RAD, el modelo Scrum y el modelo del Big Bang. 4. ¿Qué modelo SDLC es el adecuado para usted? o a) Depende de si prefiere un enfoque rígido o flexible. o b) Siempre debe elegir el modelo en espiral. o c) El modelo de cascada es el más adecuado para todos los proyectos. o d) El modelo ágil es la única opción recomendada. 5. ¿Cuál de las siguientes afirmaciones es cierta sobre el SLC? o a) El SLC se centra exclusivamente en el desarrollo de software. o b) El SLC abarca desde la definición hasta la finalización del uso del sistema. o c) El SLC se basa en un enfoque ágil. o d) El SLC solo se aplica a proyectos pequeños. 6. ¿Cuál de los siguientes modelos SDLC se caracteriza por ser un enfoque secuencial y lineal? o a) Modelo en espiral. o b) Modelo ágil. o c) Modelo de cascada. o d) Modelo iterativo. 7. ¿Cuál de las siguientes afirmaciones es cierta sobre el modelo en espiral? o a) Es adecuado para proyectos pequeños y sencillos. o b) Se basa en iteraciones y prototipos. o c) No permite cambios una vez que se ha iniciado una fase. o d) Es un enfoque rígido y no adaptable. 8. ¿Qué es DevOps en el contexto del SDLC? o a) Una metodología de desarrollo de software. o b) Un enfoque para la gestión de proyectos. o c) La integración de desarrollo y operaciones para mejorar la entrega continua. o d) Un modelo de cascada mejorado. 9. ¿Cuál de las siguientes afirmaciones es cierta sobre el SDLC ágil? 9 o a) Se basa en un enfoque secuencial y planificado. o b) Prioriza la documentación exhaustiva sobre la entrega rápida. o c) Fomenta la colaboración y la adaptabilidad. o d) No permite cambios una vez que se ha iniciado la fase de desarrollo. 10. ¿Cuál es el propósito principal del proceso de pruebas en el ciclo de vida del desarrollo de software (SDLC)? a) Asegurar que el código fuente esté bien documentado. b) Validar que el software cumpla con los requisitos especificados c) Optimizar el rendimiento del sistema en producción. d) Evaluar la viabilidad económica del proyecto. 1. a 2. a 3. a 4. a 5. b 6. c 7. b 8. c 9. c 10. b 10