SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
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 Practicas en el Desarrollo de Software

Más contenido relacionado

La actualidad más candente

Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010SaraEAlcntaraR
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software Brihany Rossell
 
Fundamentos de Pruebas de Software - Introducción
Fundamentos de Pruebas de Software - IntroducciónFundamentos de Pruebas de Software - Introducción
Fundamentos de Pruebas de Software - IntroducciónProfessional Testing
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaErick Domínguez Canseco
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
DIAGRAMA DE FORRESTER (3).pptx
DIAGRAMA DE FORRESTER (3).pptxDIAGRAMA DE FORRESTER (3).pptx
DIAGRAMA DE FORRESTER (3).pptxIvan Esmit Mayhua
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasanibalsmit
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automáticoItzel656131
 
Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividadJulio Pari
 
Documentación de Software
Documentación de Software Documentación de Software
Documentación de Software waqoak
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 

La actualidad más candente (20)

Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
02 modelo delnegocio
02 modelo delnegocio02 modelo delnegocio
02 modelo delnegocio
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
modelos del proceso del software
 modelos del proceso del software  modelos del proceso del software
modelos del proceso del software
 
Openbravo
OpenbravoOpenbravo
Openbravo
 
Fundamentos de Pruebas de Software - Introducción
Fundamentos de Pruebas de Software - IntroducciónFundamentos de Pruebas de Software - Introducción
Fundamentos de Pruebas de Software - Introducción
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
DIAGRAMA DE FORRESTER (3).pptx
DIAGRAMA DE FORRESTER (3).pptxDIAGRAMA DE FORRESTER (3).pptx
DIAGRAMA DE FORRESTER (3).pptx
 
Arquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capasArquitectura de cliente-servidor de tres capas
Arquitectura de cliente-servidor de tres capas
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Ers panaderia final analisis2
Ers panaderia final analisis2Ers panaderia final analisis2
Ers panaderia final analisis2
 
Diagramas de actividad
Diagramas de actividadDiagramas de actividad
Diagramas de actividad
 
Documentación de Software
Documentación de Software Documentación de Software
Documentación de Software
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 

Destacado (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
 

Similar a 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 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
 

Similar a Buenas Practicas 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
 

Más 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
 

Más 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 Practicas en el Desarrollo de Software