SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Proceso y diseño de un software
 El Proceso para el desarrollo de software, también denominado ciclo de vida
del desarrollo de software es una estructura aplicada al desarrollo de un
producto de software. Hay varios modelos a seguir para el establecimiento de un
proceso para el desarrollo de software, cada uno de los cuales describe un
enfoque diferente para diferentes actividades que tienen lugar durante el
proceso. Algunos autores consideran un modelo de ciclo de vida un término más
general que un determinado proceso para el desarrollo de software. Por ejemplo,
hay varios procesos de desarrollo de software específicos que se ajustan a un
modelo de ciclo de vida de espiral.
Actividades del desarrollo de software
 PLANIFICACIÓN.
 La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de
los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las
funciones que debería cumplir el software Una vez que se hayan recopilado los requisitos del cliente, se
debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación
funcional.
 IMPLEMENTACIÓN, PRUEBAS Y DOCUMENTACIÓN.
 La implementación es parte del proceso en el que los ingenieros de software programan el código para el
proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte
del proceso tiene la función de detectar los errores de software lo antes posible.
 La documentación del diseño interno del software con el objetivo de facilitar su mejora y su
mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto
interior como exterior.
 DESPLIEGUE Y MANTENIMIENTO.
 El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para
su liberación y ha sido distribuido en el entorno de producción.
 Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de
software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta
inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.
Modelos de Desarrollo de Software
 Los modelos de desarrollo de software
son una representación abstracta de una
manera en particular. Realmente no
representa cómo se debe desarrollar el
software, sino de un enfoque común.
Puede ser modificado y adaptado de
acuerdo a las necesidades del software
en proceso de desarrollo. 1 Hay varios
modelos para perfilar el proceso de
desarrollo, cada uno de las cuales cuenta
con pros y contras.
 1. Paradigma Tradicional:
 Es uno de los paradigmas más antiguo, se inventó durante la creación del método estructurado. Si se
elige un proyecto, el método varia en etapas. Como todo modelo, existen sus pros y contras al usar
este paradigmas:
 2. Paradigma Orientado a Objetos: Estos modelos se basan en la Programación orientada a objetos; por
lo tanto, se refiere al concepto de clase, el análisis de requisitos y el diseño. El modelo o paradigma
orientado a objetos posee dos características principales, las cuales son:
 Permite la re-utilización de software.
 Facilita el desarrollo de herramientas informáticas de apoyo al desarrollo, el cual es simple al
implementarla en una notación orientado a objetos llamado UML.
 3. Paradigma de Desarrollo Ágil: Es un paradigma de las Metodologías De Desarrollo basado en procesos
ágiles. Estos intentan evitar los tediosos caminos de las metodologías tradicionales enfocándose en las
personas y los resultados. Usa un enfoque basado en el Valor para construir software, colaborando con
el cliente e incorporando los cambios continuamente.
Desarrollo iterativo e incremental.
Artículo principal: Desarrollo iterativo e incremental
El desarrollo iterativo recomienda la construcción de secciones reducidas de software que irán
ganando en tamaño para facilitar así la detección de problemas de importancia antes de que sea
demasiado tarde. Los procesos iterativos pueden ayudar a desvelar metas del diseño en el caso de
clientes que no saben cómo definir lo que quieren
Desarrollo ágil.
Artículo principal: Desarrollo ágil de software
El desarrollo ágil de software utiliza un desarrollo iterativo como base para abogar por un punto de
vista más ligero y más centrado en las personas que en el caso de las soluciones tradicionales. Los
procesos ágiles utilizan retroalimentación en lugar de planificación, como principal mecanismo de
control. La retroalimentación se canaliza por medio de pruebas periódicas y frecuentes versiones del
software.
Codificación y corrección.
El desarrollo de codificación y corrección (en inglés "Code and fix") es, más que una estrategia
predeterminada, el resultado de una falta de experiencia o presión que se ejerce sobre los
desarrolladores para cumplir con una fecha de entrega.7 Sin dedicar tiempo de forma explícita para
el diseño, los programadores comienzan de forma inmediata a producir código. Antes o después
comienza la fase de pruebas de software (a menudo de forma tardía) y los inevitables errores que se
encuentran han de eliminarse antes de poder entregar el software.
 Orientado a la Reutilización
 La reutilización de software es un proceso donde se recurre al uso de activos de software en las
especificaciones de análisis, diseños, implementación y pruebas de una aplicación o sistemas de
software.
La reutilización tiene ciertos Indicadores por ejemplo:
 1. Entre el 40% y 60% de una aplicación es reutilizable en otra.
 2. Aproximadamente el 60% de una aplicación administrativa es reutilizable.
 3. Aproximadamente el 75% de las funciones son comunes a más de un programa.
 4. Solo el 15% del código encontrado en muchos sistemas es único y novedoso a una aplicación
especifica.
 El rango general de uso recurrente esta entre el 15% y 85%.
 La reutilización tiene Principios como la existencia de parecidos en distintos sistemas de un mismo
dominio, donde el software puede representarse como una combinación de módulos y los sistemas
nuevos se puede caracterizar por diferencias respecto a los antiguos sistemas.
Modelos de mejora de procesos
 El Capability Maturity Model Integration (CMMI), en español «Integración de Modelos de Madurez de
Capacidades» es uno de los modelos líderes basados en mejores prácticas. Son evaluaciones
independientes las que confirman el grado con el que una organización siguen sus propios procesos,
que no evalúa la calidad de los procesos o del software que se produce. CMMI ha reemplazado
a CMM y tiene un ámbito global, no sólo en procesos destinados al desarrollo del software.
ISO 9000 describe estándares para un proceso organizado formalmente para resultar en un producto y
los métodos de gestión y monitoreo del progreso. Aunque este estándar se creó inicialmente para el
sector de producción, los estándares de ISO 9000 también se han aplicado al desarrollo del software. Al
igual que CMMI, que una organización está certificada con el ISO 9000 no garantiza la calidad del
resultado final, sólo confirma que se ha seguido los procesos establecidos.
ISO 15504, también conocido como Software Process Capability Determination (SPICE), en español
«Determinación de la Capacidad de Mejora del Proceso de Software» es un marco para la evaluación de
procesos de software. Este estándar tiene como objetivo un modelo claro para poder comparar procesos.
SPICE se utiliza como en el caso de CMMI. Modela procesos para gestionar, controlar, guiar y monitorear
el desarrollo del software. Este modelo se utiliza entonces para medir lo que una organización o
proyecto hace durante el desarrollo del software. Esta información se analiza para identificar puntos
débiles y definir acciones para subsanarlos. También identifica puntos fuertes que pueden adoptarse en
el resto de la organización.
Métodos formales
 Los métodos formales son soluciones matemáticas para resolver problemas de software y hardware a
nivel de requisitos, especificación y diseño. Ejemplos de métodos formales incluyen el Método B,
la red de Petri, la demostración automática de teoremas, RAISE y el VDM. Hay varias notaciones de
especificaciones formales, tales como el lenguaje Z. Más generalmente, se puede utilizar la teoría
de autómatas para aumentar y validar el comportamiento de la aplicación diseñando un sistema
de autómata finito.
 Las metodologías basadas en los autómatas finitos permiten especificación de software ejecutable y
evitar la creación convencional de código.
 Los métodos formales se suelen aplicar en software de aviación, especialmente si es software de
seguridad crítico. Los estándares de aseguramiento del software de seguridad, tales
como DO178B demandan métodos formales en el nivel más alto de categorización (Nivel A).
 La formalización del desarrollo de software está ganando en fuerza poco a poco, en otros ámbitos,
con la aplicación del lenguaje de especificación OCL2.0 (y especializaciones tales como Java
Modeling Lenguaje) y particularmente con Model-driven Architecture que permite la ejecución de
diseños, incluso especificaciones.

Weitere ähnliche Inhalte

Was ist angesagt?

PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
Alejandro Leon
 
Principios de RUP
Principios de RUPPrincipios de RUP
Principios de RUP
radoslawkb
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
olea_saavedra
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agiles
fmmeson
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
Deisy Sapaico
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
Abner Garcia
 

Was ist angesagt? (18)

Act20
Act20Act20
Act20
 
Rup
RupRup
Rup
 
PROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWAREPROCESOS DE CALIDAD DE SOFTWARE
PROCESOS DE CALIDAD DE SOFTWARE
 
Metodologias Rup Xp
Metodologias Rup XpMetodologias Rup Xp
Metodologias Rup Xp
 
Principios de RUP
Principios de RUPPrincipios de RUP
Principios de RUP
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
 
Metogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS AgilesMetogologias de Desarrollo de Software Tradicionales VS Agiles
Metogologias de Desarrollo de Software Tradicionales VS Agiles
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010Presentación MeRinde 6CNSL Abril 2010
Presentación MeRinde 6CNSL Abril 2010
 
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa CondeProceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
Proceso para el desarrollo de software Ponencia M.C.Ivet Espinosa Conde
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Metodologias de desarrollo de software
Metodologias de desarrollo de softwareMetodologias de desarrollo de software
Metodologias de desarrollo de software
 
Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema Metodologias agiles Programacion Xtrema
Metodologias agiles Programacion Xtrema
 
Capas de la ingenieria de software
Capas de la ingenieria de softwareCapas de la ingenieria de software
Capas de la ingenieria de software
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Equipo 5 Metodos de Desarrllo de Software
Equipo 5 Metodos de Desarrllo de SoftwareEquipo 5 Metodos de Desarrllo de Software
Equipo 5 Metodos de Desarrllo de Software
 

Ähnlich wie Proceso y diseño de un software

02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i proceso
victdiazm
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
UVM
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
mendez45
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
Evelin Oña
 

Ähnlich wie Proceso y diseño de un software (20)

Ensayo de ciclo de vida
Ensayo de ciclo de vidaEnsayo de ciclo de vida
Ensayo de ciclo de vida
 
METODOLOGIAS.pptx
METODOLOGIAS.pptxMETODOLOGIAS.pptx
METODOLOGIAS.pptx
 
Ciclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdfCiclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdf
 
02 unidad i proceso
02 unidad i   proceso02 unidad i   proceso
02 unidad i proceso
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Exposicion 3
Exposicion 3Exposicion 3
Exposicion 3
 
Clase_iso12207.pptx
Clase_iso12207.pptxClase_iso12207.pptx
Clase_iso12207.pptx
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofware
 
SQM Lifecycle models
SQM Lifecycle modelsSQM Lifecycle models
SQM Lifecycle models
 
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptxCICLO_DE_VIDA_DEL_SOFTWARE.pptx
CICLO_DE_VIDA_DEL_SOFTWARE.pptx
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
Mariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agostoMariajosehernandezcardenas 233101 9_agosto
Mariajosehernandezcardenas 233101 9_agosto
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Desarrollo del sofware
Desarrollo del sofwareDesarrollo del sofware
Desarrollo del sofware
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 

Kürzlich hochgeladen

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Kürzlich hochgeladen (20)

SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Abril 2024 - Maestra Jardinera Ediba.pdf
Abril 2024 -  Maestra Jardinera Ediba.pdfAbril 2024 -  Maestra Jardinera Ediba.pdf
Abril 2024 - Maestra Jardinera Ediba.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

Proceso y diseño de un software

  • 1. Proceso y diseño de un software
  • 2.  El Proceso para el desarrollo de software, también denominado ciclo de vida del desarrollo de software es una estructura aplicada al desarrollo de un producto de software. Hay varios modelos a seguir para el establecimiento de un proceso para el desarrollo de software, cada uno de los cuales describe un enfoque diferente para diferentes actividades que tienen lugar durante el proceso. Algunos autores consideran un modelo de ciclo de vida un término más general que un determinado proceso para el desarrollo de software. Por ejemplo, hay varios procesos de desarrollo de software específicos que se ajustan a un modelo de ciclo de vida de espiral.
  • 3. Actividades del desarrollo de software  PLANIFICACIÓN.  La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional.  IMPLEMENTACIÓN, PRUEBAS Y DOCUMENTACIÓN.  La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.  La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior.  DESPLIEGUE Y MANTENIMIENTO.  El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.  Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.
  • 4. Modelos de Desarrollo de Software  Los modelos de desarrollo de software son una representación abstracta de una manera en particular. Realmente no representa cómo se debe desarrollar el software, sino de un enfoque común. Puede ser modificado y adaptado de acuerdo a las necesidades del software en proceso de desarrollo. 1 Hay varios modelos para perfilar el proceso de desarrollo, cada uno de las cuales cuenta con pros y contras.
  • 5.  1. Paradigma Tradicional:  Es uno de los paradigmas más antiguo, se inventó durante la creación del método estructurado. Si se elige un proyecto, el método varia en etapas. Como todo modelo, existen sus pros y contras al usar este paradigmas:  2. Paradigma Orientado a Objetos: Estos modelos se basan en la Programación orientada a objetos; por lo tanto, se refiere al concepto de clase, el análisis de requisitos y el diseño. El modelo o paradigma orientado a objetos posee dos características principales, las cuales son:  Permite la re-utilización de software.  Facilita el desarrollo de herramientas informáticas de apoyo al desarrollo, el cual es simple al implementarla en una notación orientado a objetos llamado UML.  3. Paradigma de Desarrollo Ágil: Es un paradigma de las Metodologías De Desarrollo basado en procesos ágiles. Estos intentan evitar los tediosos caminos de las metodologías tradicionales enfocándose en las personas y los resultados. Usa un enfoque basado en el Valor para construir software, colaborando con el cliente e incorporando los cambios continuamente.
  • 6. Desarrollo iterativo e incremental. Artículo principal: Desarrollo iterativo e incremental El desarrollo iterativo recomienda la construcción de secciones reducidas de software que irán ganando en tamaño para facilitar así la detección de problemas de importancia antes de que sea demasiado tarde. Los procesos iterativos pueden ayudar a desvelar metas del diseño en el caso de clientes que no saben cómo definir lo que quieren Desarrollo ágil. Artículo principal: Desarrollo ágil de software El desarrollo ágil de software utiliza un desarrollo iterativo como base para abogar por un punto de vista más ligero y más centrado en las personas que en el caso de las soluciones tradicionales. Los procesos ágiles utilizan retroalimentación en lugar de planificación, como principal mecanismo de control. La retroalimentación se canaliza por medio de pruebas periódicas y frecuentes versiones del software. Codificación y corrección. El desarrollo de codificación y corrección (en inglés "Code and fix") es, más que una estrategia predeterminada, el resultado de una falta de experiencia o presión que se ejerce sobre los desarrolladores para cumplir con una fecha de entrega.7 Sin dedicar tiempo de forma explícita para el diseño, los programadores comienzan de forma inmediata a producir código. Antes o después comienza la fase de pruebas de software (a menudo de forma tardía) y los inevitables errores que se encuentran han de eliminarse antes de poder entregar el software.
  • 7.  Orientado a la Reutilización  La reutilización de software es un proceso donde se recurre al uso de activos de software en las especificaciones de análisis, diseños, implementación y pruebas de una aplicación o sistemas de software. La reutilización tiene ciertos Indicadores por ejemplo:  1. Entre el 40% y 60% de una aplicación es reutilizable en otra.  2. Aproximadamente el 60% de una aplicación administrativa es reutilizable.  3. Aproximadamente el 75% de las funciones son comunes a más de un programa.  4. Solo el 15% del código encontrado en muchos sistemas es único y novedoso a una aplicación especifica.  El rango general de uso recurrente esta entre el 15% y 85%.  La reutilización tiene Principios como la existencia de parecidos en distintos sistemas de un mismo dominio, donde el software puede representarse como una combinación de módulos y los sistemas nuevos se puede caracterizar por diferencias respecto a los antiguos sistemas.
  • 8. Modelos de mejora de procesos  El Capability Maturity Model Integration (CMMI), en español «Integración de Modelos de Madurez de Capacidades» es uno de los modelos líderes basados en mejores prácticas. Son evaluaciones independientes las que confirman el grado con el que una organización siguen sus propios procesos, que no evalúa la calidad de los procesos o del software que se produce. CMMI ha reemplazado a CMM y tiene un ámbito global, no sólo en procesos destinados al desarrollo del software.
  • 9. ISO 9000 describe estándares para un proceso organizado formalmente para resultar en un producto y los métodos de gestión y monitoreo del progreso. Aunque este estándar se creó inicialmente para el sector de producción, los estándares de ISO 9000 también se han aplicado al desarrollo del software. Al igual que CMMI, que una organización está certificada con el ISO 9000 no garantiza la calidad del resultado final, sólo confirma que se ha seguido los procesos establecidos. ISO 15504, también conocido como Software Process Capability Determination (SPICE), en español «Determinación de la Capacidad de Mejora del Proceso de Software» es un marco para la evaluación de procesos de software. Este estándar tiene como objetivo un modelo claro para poder comparar procesos. SPICE se utiliza como en el caso de CMMI. Modela procesos para gestionar, controlar, guiar y monitorear el desarrollo del software. Este modelo se utiliza entonces para medir lo que una organización o proyecto hace durante el desarrollo del software. Esta información se analiza para identificar puntos débiles y definir acciones para subsanarlos. También identifica puntos fuertes que pueden adoptarse en el resto de la organización.
  • 10. Métodos formales  Los métodos formales son soluciones matemáticas para resolver problemas de software y hardware a nivel de requisitos, especificación y diseño. Ejemplos de métodos formales incluyen el Método B, la red de Petri, la demostración automática de teoremas, RAISE y el VDM. Hay varias notaciones de especificaciones formales, tales como el lenguaje Z. Más generalmente, se puede utilizar la teoría de autómatas para aumentar y validar el comportamiento de la aplicación diseñando un sistema de autómata finito.  Las metodologías basadas en los autómatas finitos permiten especificación de software ejecutable y evitar la creación convencional de código.  Los métodos formales se suelen aplicar en software de aviación, especialmente si es software de seguridad crítico. Los estándares de aseguramiento del software de seguridad, tales como DO178B demandan métodos formales en el nivel más alto de categorización (Nivel A).  La formalización del desarrollo de software está ganando en fuerza poco a poco, en otros ámbitos, con la aplicación del lenguaje de especificación OCL2.0 (y especializaciones tales como Java Modeling Lenguaje) y particularmente con Model-driven Architecture que permite la ejecución de diseños, incluso especificaciones.