SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
BUENAS PRACTICAS EN EL
DESARROLLO DE SOFTWARE
ERIC GUSTAVO CORONEL CASTILLO
gcoronelc.blogspot.com
gcoronelc.gmail.com
Logro Esperado
Se espera que el participante entienda sobre
la necesidad de aplicar buenas practicas en
el desarrollo de software para lograr
productos que realmente agreguen valor a
la empresa.
Temas
• Planificaciones demasiado
optimistas
• Cuál debe ser nuestro objetivo?
• Por qué usar una Metodología
de Desarrollo de Software
• En la Programación
Planificaciones demasiado optimistas
La Casa de Fido
• Modelado simple
• Proceso simple
• Herramientas simple
Planificaciones demasiado optimistas
Lo que realmente se quiere construir es mucho mas complejo.
Planificaciones demasiado optimistas
No se entiende
cuáles son las
necesidades de los
clientes.
Planificaciones demasiado optimistas
No definimos
correctamente el alcance
de los requerimientos.
Planificaciones demasiado optimistas
No hay tiempo, no hay
recursos y tampoco hay
presupuesto para probar
el software antes de
enviarlo a producción.
No debemos ser:
"cowboy coding"
Cuál debe ser nuestro objetivo?
Cuál debe ser nuestro objetivo?
Programadores que
se sientan felices
con lo que hacen.
Cuál debe ser nuestro objetivo?
Crear software bien
estructurado aplicando
estándares y buenas
prácticas.
Cuál debe ser nuestro objetivo?
Otro problema es el
mantenimiento que
se debe hacer
posteriormente.
Cuál debe ser nuestro objetivo?
El desarrollo de software
ha evolucionado.
El código es algo vivo,
evoluciona con el programador.
Por qué usar una Metodología de Desarrollo de Software
METODOLOGIA
Conjunto de procedimientos racionales utilizados para alcanzar
el objetivo.
METODOLOGIA DE DESARROLLO
Conjunto de procedimientos, técnicas, herramientas y soporte
documental que deben seguirse para el desarrollo del software.
Por qué usar una Metodología de Desarrollo de Software
Por qué usar una Metodología de Desarrollo de Software
Es una metodología cuyo fin es entregar un
producto de software.
Es un proceso de desarrollo de software el
cual utiliza el lenguaje unificado de
modelado UML.
Constituye la metodología estándar más
utilizada para el análisis, implementación y
documentación de sistemas orientados a
objetos.
RUP es un conjunto de metodologías
adaptables al contexto y necesidades de
cada organización.
R U P
Por qué usar una Metodología de Desarrollo de Software
Principales características
• Forma disciplinada de asignar tareas y
responsabilidades (quién hace qué, cuándo
y cómo)
• Pretende implementar las mejores prácticas
en Ingeniería de Software
• Desarrollo iterativo
• Administración de requisitos
• Uso de arquitectura basada en componentes
• Control de cambios
• Modelado visual del software
• Verificación de la calidad del software
R U P
Por qué usar una Metodología de Desarrollo de Software
Por qué usar una Metodología de Desarrollo de Software
En la Programación
Programando Pensando en Servicios
servicioinput
El imput puede
ser varios datos.
El servicio se implementa como un
método de un objeto.
output
El output es uno solo, que
puede ser simple o
estructurado, como por
ejemplo un objeto, un arreglo,
una colección, etc.
En la Programación
Programando Pensando en Servicios
Conjunto de servicios
relacionados.
Componente 1
Conjunto de servicios
relacionados.
Componente 2
En la Programación
Programando Pensando en Servicios
Servidor de Componentes
Aplicación de
Escritorio
Aplicación Web
Servicio Web
Aplicaciones
De
Terceros
En la Programación
Principios
SOLID
En la Programación
Principios
KISS
En la simplicidad está la
belleza y la eficacia.
En la Programación
Principios
DRY
En la Programación
Patrón DAO
En la Programación
Patrón DAO
En la Programación
Patrón
MVC
En la Programación
https://goo.gl/v53pSS
Buenas prácticas en el desarrollo de software

Contenu connexe

Tendances

Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareGustavo Cuen
 
Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studioruthmayhuavale
 
IDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitosIDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitosFranklin Parrales Bravo
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)David Hernandez
 
Aseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQAAseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQAAnita Ortiz
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de SoftwareGustavo Bazan Maal
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-softwareMiguel Angel Rodriguez
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del softwareecasteloc
 
Libro de ciclos de vida de un software
Libro de ciclos de vida de un softwareLibro de ciclos de vida de un software
Libro de ciclos de vida de un softwareDarketo Galindo
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de SoftwareJiuseppe Flores
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software KarolXiomaraRojasSor
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAngel Reyes
 
Gestión del riesgo de software
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software jose_macias
 
3. conceptos de calidad del software
3. conceptos de calidad del software3. conceptos de calidad del software
3. conceptos de calidad del softwareJuan Pablo Carvallo
 

Tendances (20)

La Calidad de Software
La Calidad de SoftwareLa Calidad de Software
La Calidad de Software
 
Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de softwareAtributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studio
 
IDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitosIDR Unidad 4: Validación y gestión de requisitos
IDR Unidad 4: Validación y gestión de requisitos
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)
 
Aseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQAAseguramiento de la calidad del software SQA
Aseguramiento de la calidad del software SQA
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de Software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Crisis del software
Crisis del softwareCrisis del software
Crisis del software
 
Libro de ciclos de vida de un software
Libro de ciclos de vida de un softwareLibro de ciclos de vida de un software
Libro de ciclos de vida de un software
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software Normas y estándares de calidad para el desarrollo del software
Normas y estándares de calidad para el desarrollo del software
 
Análisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de softwareAnálisis de riesgos de un proyecto de software
Análisis de riesgos de un proyecto de software
 
Gestión del riesgo de software
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software
 
3. conceptos de calidad del software
3. conceptos de calidad del software3. conceptos de calidad del software
3. conceptos de calidad del software
 

En vedette (8)

Java Lambda
Java LambdaJava Lambda
Java Lambda
 
SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBCSEMINARIO: ACCESO A BASE DE DATOS CON JDBC
SEMINARIO: ACCESO A BASE DE DATOS CON JDBC
 
Java Fundamentos 01 - Introducción
Java Fundamentos 01 - IntroducciónJava Fundamentos 01 - Introducción
Java Fundamentos 01 - Introducción
 
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBCDESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
DESARROLLADOR DE APLICACIONES DE ESCRITORIO CON JDBC
 
Java Web 00 - Contexto
Java Web 00 - ContextoJava Web 00 - Contexto
Java Web 00 - Contexto
 
Java web Lección 04 - JSTL
Java web Lección 04 - JSTLJava web Lección 04 - JSTL
Java web Lección 04 - JSTL
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Java Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a ServiciosJava Fundamentos - Programación Orientada a Servicios
Java Fundamentos - Programación Orientada a Servicios
 

Similaire à Buenas prácticas en el desarrollo de software

Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile
Taller Technologies: Nuestra experiencia con ISO 9001-2008 y AgileTaller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile
Taller Technologies: Nuestra experiencia con ISO 9001-2008 y AgileTaller Technologies
 
Presentación steelmood cais marzo 2014 copia
Presentación steelmood cais marzo 2014   copiaPresentación steelmood cais marzo 2014   copia
Presentación steelmood cais marzo 2014 copiaLeopoldo Vizoso
 
Trabajo Final - Gestión del conocimiento
Trabajo Final - Gestión del conocimientoTrabajo Final - Gestión del conocimiento
Trabajo Final - Gestión del conocimientocarpared
 
Temas Unidad 2
Temas Unidad 2Temas Unidad 2
Temas Unidad 2wiso08
 
Desarrollando Software de Calidad Mundial
Desarrollando Software de Calidad MundialDesarrollando Software de Calidad Mundial
Desarrollando Software de Calidad MundialSteelmood
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareEdit Lopez Veloz
 
Gestión de proyectos informáticos
Gestión de proyectos informáticosGestión de proyectos informáticos
Gestión de proyectos informáticosbastian becerra
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareDomingo Gallardo
 
presentacioncmmi.pdf
presentacioncmmi.pdfpresentacioncmmi.pdf
presentacioncmmi.pdfLuis Manotas
 
Sesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del softwareSesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del softwareLuis Fernández
 
4. Desarrollo ágil de software
4. Desarrollo ágil de software4. Desarrollo ágil de software
4. Desarrollo ágil de softwareCoesi Consultoria
 
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...ANGIEGABRIELASUAREZG1
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IITensor
 
Gestión de proyectos informáticos
Gestión de proyectos informáticos Gestión de proyectos informáticos
Gestión de proyectos informáticos bastian becerra
 

Similaire à Buenas prácticas en el desarrollo de software (20)

Buenas Prácticas en el Desarrollo de Software
Buenas Prácticas en el Desarrollo de SoftwareBuenas Prácticas en el Desarrollo de Software
Buenas Prácticas en el Desarrollo de Software
 
MEJORANDO LA CALIDAD DEL SOFTWARE
MEJORANDO LA CALIDAD DEL SOFTWAREMEJORANDO LA CALIDAD DEL SOFTWARE
MEJORANDO LA CALIDAD DEL SOFTWARE
 
BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE
BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWAREBUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE
BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE
 
Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile
Taller Technologies: Nuestra experiencia con ISO 9001-2008 y AgileTaller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile
Taller Technologies: Nuestra experiencia con ISO 9001-2008 y Agile
 
Presentación steelmood cais marzo 2014 copia
Presentación steelmood cais marzo 2014   copiaPresentación steelmood cais marzo 2014   copia
Presentación steelmood cais marzo 2014 copia
 
Trabajo Final - Gestión del conocimiento
Trabajo Final - Gestión del conocimientoTrabajo Final - Gestión del conocimiento
Trabajo Final - Gestión del conocimiento
 
Softagile
SoftagileSoftagile
Softagile
 
Presentacion cmmi
Presentacion cmmiPresentacion cmmi
Presentacion cmmi
 
Temas Unidad 2
Temas Unidad 2Temas Unidad 2
Temas Unidad 2
 
Desarrollando Software de Calidad Mundial
Desarrollando Software de Calidad MundialDesarrollando Software de Calidad Mundial
Desarrollando Software de Calidad Mundial
 
Introducción a la Ingeniria del Software
Introducción a la Ingeniria del SoftwareIntroducción a la Ingeniria del Software
Introducción a la Ingeniria del Software
 
Gestión de proyectos informáticos
Gestión de proyectos informáticosGestión de proyectos informáticos
Gestión de proyectos informáticos
 
Metodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de softwareMetodologías agiles de desarrollo de software
Metodologías agiles de desarrollo de software
 
presentacioncmmi.pdf
presentacioncmmi.pdfpresentacioncmmi.pdf
presentacioncmmi.pdf
 
Sesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del softwareSesión 4: Desarrollo ágil del software
Sesión 4: Desarrollo ágil del software
 
4. Desarrollo ágil de software
4. Desarrollo ágil de software4. Desarrollo ágil de software
4. Desarrollo ágil de software
 
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...
Exposición primer previo - Metodologías, técnicas y herramientas de desarroll...
 
Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
 
Gestión de proyectos informáticos
Gestión de proyectos informáticos Gestión de proyectos informáticos
Gestión de proyectos informáticos
 

Plus de Eric Gustavo Coronel Castillo

EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEric Gustavo Coronel Castillo
 

Plus de Eric Gustavo Coronel Castillo (20)

Java Web JSTL
Java Web JSTLJava Web JSTL
Java Web JSTL
 
Model View Controller - MVC
Model View Controller - MVCModel View Controller - MVC
Model View Controller - MVC
 
JavaServer Page
JavaServer PageJavaServer Page
JavaServer Page
 
Java Web: Servlets
Java Web: ServletsJava Web: Servlets
Java Web: Servlets
 
Java Web - Presentación
Java Web - PresentaciónJava Web - Presentación
Java Web - Presentación
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
JAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONESJAVA ORIENTADO A OBJETOS - COLECCIONES
JAVA ORIENTADO A OBJETOS - COLECCIONES
 
JAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOSJAVA ORIENTADO A OBJETOS - ARREGLOS
JAVA ORIENTADO A OBJETOS - ARREGLOS
 
JAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACESJAVA ORIENTADO A OBJETOS - INTERFACES
JAVA ORIENTADO A OBJETOS - INTERFACES
 
JAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIAJAVA ORIENTADO A OBJETOS - HERENCIA
JAVA ORIENTADO A OBJETOS - HERENCIA
 
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASEJAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
JAVA ORIENTADO A OBJETOS - ALCANCE DE CLASE
 
JAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGAJAVA ORIENTADO A OBJETOS - SOBRECARGA
JAVA ORIENTADO A OBJETOS - SOBRECARGA
 
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASEJAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
JAVA ORIENTADO A OBJETOS - MIEMBROS DE CLASE
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
Cursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMYCursos Virtuales con Gustavo Coronel en UDEMY
Cursos Virtuales con Gustavo Coronel en UDEMY
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 
Buenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de SoftwareBuenas practicas para el Desarrollo de Software
Buenas practicas para el Desarrollo de Software
 
JAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONESJAVA OO - TEMA 08 - COLECCIONES
JAVA OO - TEMA 08 - COLECCIONES
 
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACIONEL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
EL MODELO DIRECTO DE DELL: TODO LO QUE HAY SOBRE LA INFORMACION
 
ORACLE SQL
ORACLE SQLORACLE SQL
ORACLE SQL
 

Buenas prácticas en el desarrollo de software