SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Escuela Profesional de Ingeniería de Sistemas
BUENAS PRACTICAS EN EL
DESARROLLO DE SOFTWARE
Eric Gustavo Coronel Castillo
gcoronelc.blogspot.pe
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
desarrollar 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
 Pruebas de Software
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones Demasiado Optimistas
La Casa de Fido
– Modelado simple
– Proceso simple
– Herramientas simple
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
Lo que realmente se quiere construir es mucho mas complejo.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
No se entiende
cuáles son las
necesidades de los
clientes.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Planificaciones demasiado optimistas
No definimos
correctamente el
alcance de los
requerimientos.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
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"
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Programadores que se
sientan felices con lo
que hacen.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Crear software bien
estructurado, aplicando
estándares y buenas
prácticas.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
Otro problema es el
mantenimiento que
se debe hacer
posteriormente.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Cuál debe ser nuestro objetivo?
El desarrollo de software
ha evolucionado.
El código es algo vivo,
evoluciona con el programador.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
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
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
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
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Por qué usar una Metodología de Desarrollo de Software
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Si tienes un
requerimiento, para
solucionarlo debes
implementar uno o varios
servicios.
PROYECTO
Requerimientos
a resolver
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
PROYECTO
Requerimientos
a resolver
 Requerimiento 1
 Requerimiento 2
 Requerimiento 3
 . . .
 . . .
 Requerimiento n
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Conjunto de servicios
relacionados.
Librería, clase o componente
Si tienes un
requerimiento, para
solucionarlo debes
implementar uno o varios
servicios.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a 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.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Conjunto de servicios
relacionados.
Componente 1
Conjunto de servicios
relacionados.
Componente 2
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Componente de Servicios
Servicio 1
Servicio 2
Servicio n
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Componente de Servicios
Servicio 1
Servicio 2
Servicio n
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Programación Orientada a Servicios
Servidor de Componentes
Aplicación de
Escritorio
Aplicación Web
Servicio Web
Aplicaciones
De
Terceros
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
SOLID
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
KISS
En la simplicidad está la
belleza y la eficacia.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Principios
DRY
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón DAO
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón DAO
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón
MVC
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Patrón
MVC
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
En la Programación
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
¿Por qué debo
probar mi código?
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Pruebas
unitarias
Pruebas de
Integración
Pruebas de
Sistemas
Pruebas de
Regresión
Pruebas de
Aceptación
Podemos definir una Prueba de
Unidad como un método de
evaluación de una parte de un
sistema, es decir, de un módulo
de nuestro producto software.
Son aquellas que se realizan en el
ámbito del desarrollo de software una
vez que se han aprobado las pruebas
unitarias y lo que prueban es que todos
los elementos unitarios que componen
el software funcionen juntos
correctamente probándolos en grupo.
Evalúan el sistema en su conjunto. El objetivo
de este tipo de pruebas es comprobar que se
cumplen los requisitos funcionales y las
especificaciones técnicas del software.
Las Pruebas de Regresión sólo
son aplicables cuando existen
versiones previas del sistema.
Las Pruebas de Aceptación
evalúan que el sistema cumple
con los requisitos del cliente.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Pruebas Unitarias
Un test unitario (Unit Test) es un trozo
de código desarrollado con el único
objetivo de verificar que una rutina o
método de nuestro código está
funcionando según esperamos.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Pruebas Unitarias
Un test unitario (Unit Test) es un trozo
de código desarrollado con el único
objetivo de verificar que una rutina o
método de nuestro código está
funcionando según esperamos.
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
NO APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
NO APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
SI APLICAS
PRUEBAS
UNITARIAS
Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com
Pruebas de Software
Caso Ilustrativo
Escuela Profesional de Ingeniería de Sistemas

Más contenido relacionado

La actualidad más candente

Estructura Desagregada de Trabajo
Estructura Desagregada de TrabajoEstructura Desagregada de Trabajo
Estructura Desagregada de TrabajoElsi Valenzuela
 
Grupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwareGrupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwarejohan2105
 
6 claves para un proyecto exitoso
6 claves para un proyecto exitoso6 claves para un proyecto exitoso
6 claves para un proyecto exitosoPablo Neumann
 
Edt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoEdt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoWalterJavierEsquivel
 
Implementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoImplementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoKudos S.A.S
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Softwareleo_ruth
 
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áticosGestión de Proyectos Informáticos
Gestión de Proyectos InformáticosPilar Pardo Hidalgo
 
Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT paredest14
 
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...Erick ivan Yataco Saavedra, PMP®
 
Edt wbs gestión de proyectos
Edt wbs gestión de proyectosEdt wbs gestión de proyectos
Edt wbs gestión de proyectosHildreth Villamil
 

La actualidad más candente (20)

Mejores Prácticas en el Desarrollo del Software
Mejores Prácticas en el Desarrollo del SoftwareMejores Prácticas en el Desarrollo del Software
Mejores Prácticas en el Desarrollo del Software
 
proceso del software_2
proceso del software_2proceso del software_2
proceso del software_2
 
Estructura Desagregada de Trabajo
Estructura Desagregada de TrabajoEstructura Desagregada de Trabajo
Estructura Desagregada de Trabajo
 
Script psp
Script pspScript psp
Script psp
 
Grupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de softwareGrupo# 5 problemas en el desarrollo de software
Grupo# 5 problemas en el desarrollo de software
 
6 claves para un proyecto exitoso
6 claves para un proyecto exitoso6 claves para un proyecto exitoso
6 claves para un proyecto exitoso
 
problemas del software
problemas del softwareproblemas del software
problemas del software
 
Manual p6 avanzado-libre
Manual p6 avanzado-libreManual p6 avanzado-libre
Manual p6 avanzado-libre
 
Edt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajoEdt estructura-de-desglose-del-trabajo
Edt estructura-de-desglose-del-trabajo
 
Implementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público ColombianoImplementación de Fábricas de Software en el Sector Público Colombiano
Implementación de Fábricas de Software en el Sector Público Colombiano
 
Diccionario de la EDT
Diccionario de la EDTDiccionario de la EDT
Diccionario de la EDT
 
ASPgems 2018
ASPgems 2018 ASPgems 2018
ASPgems 2018
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Análisis/QA
Análisis/QAAnálisis/QA
Análisis/QA
 
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áticosGestión de Proyectos Informáticos
Gestión de Proyectos Informáticos
 
Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT Taller de gestion de proyectos- Creación EDT
Taller de gestion de proyectos- Creación EDT
 
Fases del Modelo PSP
Fases del Modelo PSPFases del Modelo PSP
Fases del Modelo PSP
 
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...
Nivelación de los recursos utilizando la prioridad de las tareas - Microsoft ...
 
Edt wbs gestión de proyectos
Edt wbs gestión de proyectosEdt wbs gestión de proyectos
Edt wbs gestión de proyectos
 

Similar a BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE

Sesión 2: El proceso del software
Sesión 2: El proceso del softwareSesión 2: El proceso del software
Sesión 2: El proceso del softwareLuis Fernández
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareCoesi Consultoria
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión GeneralRuth Hidalgo Tene
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión GeneralRuth Hidalgo Tene
 
Proceso del software una visión general
Proceso del software una visión generalProceso del software una visión general
Proceso del software una visión generalRuth Hidalgo Tene
 
Proceso del software
Proceso del softwareProceso del software
Proceso del softwareguest7886b8
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Joselito B
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologiaslandeta_p
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwarealberto calatayu
 
Temas Unidad 2
Temas Unidad 2Temas Unidad 2
Temas Unidad 2wiso08
 
Lineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHLineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHRafael Ortiz Montiel
 
Pe isw descripción plandeestudios
Pe isw descripción plandeestudiosPe isw descripción plandeestudios
Pe isw descripción plandeestudiosITSON
 
Proceso del software
Proceso del softwareProceso del software
Proceso del softwareTensor
 

Similar a BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE (20)

2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
Sesión 2: El proceso del software
Sesión 2: El proceso del softwareSesión 2: El proceso del software
Sesión 2: El proceso del software
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Proceso del Software Una visión General
Proceso del Software Una visión GeneralProceso del Software Una visión General
Proceso del Software Una visión General
 
Proceso de Software Una Visión General
Proceso de Software Una Visión GeneralProceso de Software Una Visión General
Proceso de Software Una Visión General
 
Proceso del software una visión general
Proceso del software una visión generalProceso del software una visión general
Proceso del software una visión general
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software Conceptos sobre Gestión de Proyectos de Software
Conceptos sobre Gestión de Proyectos de Software
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
 
Fundamentos de la ingenieria del software
Fundamentos de la ingenieria del softwareFundamentos de la ingenieria del software
Fundamentos de la ingenieria del software
 
Proceso Del Software
Proceso Del SoftwareProceso Del Software
Proceso Del Software
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Temas Unidad 2
Temas Unidad 2Temas Unidad 2
Temas Unidad 2
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Lineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCHLineas de Productos de Software & Método WATCH
Lineas de Productos de Software & Método WATCH
 
Pe isw descripción plandeestudios
Pe isw descripción plandeestudiosPe isw descripción plandeestudios
Pe isw descripción plandeestudios
 
RA.1.pdf
RA.1.pdfRA.1.pdf
RA.1.pdf
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Ra.1..
Ra.1..Ra.1..
Ra.1..
 
La Calidad de Software
La Calidad de SoftwareLa Calidad de Software
La Calidad de Software
 

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
 
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
 
CONSULTAS BASICAS
CONSULTAS BASICASCONSULTAS BASICAS
CONSULTAS BASICAS
 

BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE

  • 1. Escuela Profesional de Ingeniería de Sistemas BUENAS PRACTICAS EN EL DESARROLLO DE SOFTWARE Eric Gustavo Coronel Castillo gcoronelc.blogspot.pe gcoronelc@gmail.com
  • 2. Logro Esperado Se espera que el participante entienda sobre la necesidad de aplicar buenas practicas en el desarrollo de software para lograr desarrollar productos que realmente agreguen valor a la empresa.
  • 3. Temas  Planificaciones demasiado optimistas  Cuál debe ser nuestro objetivo?  Por qué usar una Metodología de Desarrollo de Software  En la Programación  Pruebas de Software
  • 4. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones Demasiado Optimistas La Casa de Fido – Modelado simple – Proceso simple – Herramientas simple
  • 5. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas Lo que realmente se quiere construir es mucho mas complejo.
  • 6. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No se entiende cuáles son las necesidades de los clientes.
  • 7. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Planificaciones demasiado optimistas No definimos correctamente el alcance de los requerimientos.
  • 8. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com 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"
  • 9. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo?
  • 10. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Programadores que se sientan felices con lo que hacen.
  • 11. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Crear software bien estructurado, aplicando estándares y buenas prácticas.
  • 12. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? Otro problema es el mantenimiento que se debe hacer posteriormente.
  • 13. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Cuál debe ser nuestro objetivo? El desarrollo de software ha evolucionado. El código es algo vivo, evoluciona con el programador.
  • 14. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com 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.
  • 15. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 16. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com 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
  • 17. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com 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
  • 18. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 19. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Por qué usar una Metodología de Desarrollo de Software
  • 20. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Si tienes un requerimiento, para solucionarlo debes implementar uno o varios servicios. PROYECTO Requerimientos a resolver
  • 21. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios PROYECTO Requerimientos a resolver  Requerimiento 1  Requerimiento 2  Requerimiento 3  . . .  . . .  Requerimiento n
  • 22. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Conjunto de servicios relacionados. Librería, clase o componente Si tienes un requerimiento, para solucionarlo debes implementar uno o varios servicios.
  • 23. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a 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.
  • 24. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios
  • 25. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Conjunto de servicios relacionados. Componente 1 Conjunto de servicios relacionados. Componente 2
  • 26. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Componente de Servicios Servicio 1 Servicio 2 Servicio n
  • 27. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Componente de Servicios Servicio 1 Servicio 2 Servicio n
  • 28. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Programación Orientada a Servicios Servidor de Componentes Aplicación de Escritorio Aplicación Web Servicio Web Aplicaciones De Terceros
  • 29. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios SOLID
  • 30. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios KISS En la simplicidad está la belleza y la eficacia.
  • 31. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Principios DRY
  • 32. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  • 33. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón DAO
  • 34. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  • 35. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación Patrón MVC
  • 36. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com En la Programación
  • 37. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software ¿Por qué debo probar mi código?
  • 38. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas unitarias Pruebas de Integración Pruebas de Sistemas Pruebas de Regresión Pruebas de Aceptación Podemos definir una Prueba de Unidad como un método de evaluación de una parte de un sistema, es decir, de un módulo de nuestro producto software. Son aquellas que se realizan en el ámbito del desarrollo de software una vez que se han aprobado las pruebas unitarias y lo que prueban es que todos los elementos unitarios que componen el software funcionen juntos correctamente probándolos en grupo. Evalúan el sistema en su conjunto. El objetivo de este tipo de pruebas es comprobar que se cumplen los requisitos funcionales y las especificaciones técnicas del software. Las Pruebas de Regresión sólo son aplicables cuando existen versiones previas del sistema. Las Pruebas de Aceptación evalúan que el sistema cumple con los requisitos del cliente.
  • 39. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas Unitarias Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o método de nuestro código está funcionando según esperamos.
  • 40. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Pruebas Unitarias Un test unitario (Unit Test) es un trozo de código desarrollado con el único objetivo de verificar que una rutina o método de nuestro código está funcionando según esperamos.
  • 41. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo
  • 42. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  • 43. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo NO APLICAS PRUEBAS UNITARIAS
  • 44. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 45. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 46. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo SI APLICAS PRUEBAS UNITARIAS
  • 47. Gustavo Coronel – gcoronelc.blogspot.pe – gcoronelc@Gmail.com Pruebas de Software Caso Ilustrativo
  • 48. Escuela Profesional de Ingeniería de Sistemas