SlideShare una empresa de Scribd logo
Ciclo de vida para desarrollar un programa de computadoras “program development live cicle” (pdlc)
“Si no sabe qué necesita
hacer, mucho menos sabrá
cómo hacerlo”…
Desarrollo de un programa de computadoras
El desarrollo de un
programa de computadoras
(program development)
consiste en una serie de
pasos que los
programadores debemos
utilizar para poder
desarrollar o construir
programas de
computadoras.
Primer paso
Segundo paso
Tercer paso
Ciclo de vida para desarrollar un programa de
computadoras “Program Development Live
Cicle” (PDLC)
El “Program Development Live Cicle”
(PDLC), quía al programador a través
de las etapas que conlleva el
desarrollo de un programa de
computadoras. El mismo consiste en
siete pasos fundamentales.
1. Analizar
Requerimientos
2. Diseñar
Solución
3.Validar el
Diseño
4. Implementar
el Diseño
5. Probar la
Solución
6. Documentar
Solución
7.
Mantenimiento
Ciclo de vida para
desarrollar un
programa de
computadoras
“Program
Development Live
Cicle” (PDLC)
1. El análisis de requerimientos se
resume entres (3) pasos:
1. Repasar el problema y establecer requerimientos.
 Estudiar y analizar informes, pedidos, reportes, gráficas,
tablas o cualquier documento que evidencie las actividades
generales y especificas del cliente.
2. Reunirse con el analista de sistemas y usuarios.
 Tener la perspectiva del analista del sistema como la de los
usuarios finales ayuda, al programador a tener mejor
entendimiento del propósito del programa, lo cuál lo lleva a
construir un certero diseño de las especificaciones.
3. Identificar las posibles: Entradas, Procesos y Salidas (INPUT /
PROCESS/ OUTPUT) y otros componentes relacionados a la
data que realizará el programa. Trabajar con una Tabla IPO.
Ejemplo de una Tabla o Gráfica IPO
(IPO Chart)
Input Processing Output
Horas Trabajadas
Regulares
Leer y registrar las horas
trabajadas por los
trabajadores o
empleados, calcular el
pago de acuerdo al
salario por hora.
Pago Neto (después de
las deducciones).
Horas Trabajadas en
exceso a 40 (overtime
hours)
Si el empleado trabajó
tiempo extra, calcular el
pago por horas extras.
Pago Salario por Hora Calcular e imprimir el
sueldo bruto.
2. Diseñar la solución
El segundo paso es diseñar la solución que cumplirá con
los requisitos de los usuarios y resolverá el problema en
general. Para construir el diseño de la solución, el
programador desarrollará y creará un algoritmo que
establezca los pasos a seguir para la solución del
problema.
Algoritmo = serie de pasos o procedimientos (gráficos o escritos) que se
establecen para la solución de un problema.
Determinar el comportamiento lógico de un programa
es mayormente el principal reto de los programadores.
A continuación veremos algunos
de los principales modelos
utilizados por lo programadores
para desarrollar el diseño de
soluciones.
2. Diseñar la solución
Diseño Estructurado (Structured Design)
El diseño estructurado le permite al programador comenzar con
un diseño general y luego moverse a un diseño más detallado
(moverse de lo general a lo especifico). Primero se identifica el
funcionalidad o rutina principal del programa (main module).
Luego el programador descompone o rompe dicha rutina principal
en pequeñas secciones conocidas como sub-rutinas o módulos.
Se analiza cada sub-rutina o módulo para determinar si puede ser
descompuesta en otra sub-rutina o módulo más pequeño. Para
hacer este tipo de diseño el programador utiliza una Gráfica
Jerárquica (Hierarchy Chart).
Una gráfica jerárquica contiene rectángulos y líneas donde cada rectángulo representa
un módulo y las líneas su conexión jerárquica.
Gráfica Jerárquica (Hierarchy Chart)
Imagen tomada de: Página 688, Discovering Computers 2012: Chapter 13, Figure 13‐25.
A pesar de su simpleza para diseñar soluciones, muchos programadores coinciden en
que es un sistema de diseño poco eficiente por que es propenso a la duplicidad de
procedimientos y códigos.
Diseño Orientado a Objetos (Object-Oriented Design)
Los objetos son elementos que puede contener datos y procedimientos que
leen y manipulan la data. Un objeto es como una caja donde no se puede ver
el contenido de su interior desde afuera.
A diferencia de el Diseño
Estructurado, con el Diseño
Orientado a Objetos el
programador puede
empaquetar data y
procedimiento en una unidad u
objeto y cuando la estructura
de un objeto cambia, cualquier
programa que accede al objeto
automáticamente accede al
cambio también.
Imagen tomada de: Página 635 Discovering Computers
2012: Chapter 12, Figure 12‐14
Diseño Orientado a Objetos (Object-Oriented Design)
El concepto de empaquetado (packaging) data y procedimiento es también conocido
como encapsulación.
 Un diagrama de clases
muestra gráficamente
clases y subclases en un
sistema.
 Cada clase puede tener
una o más subclases.
 Las subclases utilizan
herencia para heredar
métodos y atributos de
niveles más altos. Imagen tomada de: Página 635 Discovering Computers
2012: Chapter 12, Figure 12‐14
Un atributo describe las características de un objeto.
2. Diseñar solución (Estructuras de Control)
Independientemente el programador utilice
para diseñar su solución el método de Diseño
Estructurado o Diseño Orientado a Objetos,
necesita trabajar con una estructura de control
para describir las tareas que el programa tiene
que desempeñar.
Una estructura de control presenta el orden
lógico de las instrucciones o procedimientos
de un programa.
Las tres (3) estructuras básicas de control
utilizadas en programación son:
Estructura de Control Secuencial
Estructura de Control de Selección
Estructura de Control de repetición
Estructura de Control Secuencial
La estructura de control secuencial
muestra las acciones que seguirá
un programa de manera lineal,
(una o más acciones seguida de la
acción anterior). Las acciones
pueden ser “input”, “processes”
and “outputs”.
Todas las acciones deben ser
ejecutadas y ninguna puede obviarse.
Imagen tomada de: Página 689 Discovering Computers 2012: Chapter 13, Figure 13‐27.
Estructura de Control de Selección
La estructura de control de
selección le indica al
programa que acción tomar
dependiendo de la
condición que se presente.
Dos tipos comunes de
estructuras de selección son
el “if-then-else” y la de
“case”.
En algunas situaciones el programa
puede ejecutar una acción sólo si la
condición es cierta..
Imagen tomada de: Página, Discovering
Computers 2012: Chapter 13, Figure 13‐28.
Control de Selección “if-then-else”
La estructura de control “if-then-else” dirige al programa a través del curso de
acción que debe seguir, basado en la evaluación de la condición.
Control de Selección “case control”
Con la estructura de
selección “case control”
una condición puede
producir una de tres o
más posibilidades. La
acción a tomar por el
programa va a depender
de la condición
seleccionada.
La estructura de selección “case control” permite más de dos
alternativas después de evaluar la condición.
Control de Selección “repetition”
La estructura de control de repetición
permite al programa desempeñar una o más
acciones repetitivamente hasta que cierta
condición se cumpla o no se cumpla. Muchos
programadores le llaman a esta estructura de
control “loop”.
Dos maneras de trabajar con este tipo de
estructura de control de repetición son:
“Do-while” and “Do-until”.
Control de selección de repetición “Do-while”
La estructura de control de
repetición “do-while” repite un
procedimiento una o más veces
hasta que cierta condición sea
cierta (que se cumpla). Este tipo
de estructura de control prueba
o valida una condición al
principio del “loop”, a este
proceso se le conoce como
“pretest”.
Con “Do-while” si el resultado de la condición es cierto, el programa ejecuta la acción o
acciones contenidas en el “loop” continuamente, hasta que la condición sea falsa.
Imagen tomada de: Página 690 Discovering Computers 2012: Chapter 13, Figure 13‐30.
Control de selección de repetición “Do-until”
La estructura de control de repetición
“do-until” es similar a la de “do-while”
pero tiene dos marcadas diferencias:
Cuando la condición es evaluada o
probada y cuando se detiene el proceso
del “loop”. Primero que nada el “do-
until” espera hasta que se detenga el
“loop” para validar y probar la
condición (posttest). Continua
repetitivamente hasta que cierta
condición se cumpla.
Con “do-until” a diferencia de “do-while”, la acción siempre se ejecuta por lo menos
una vez, hasta que el resultado de la condición sea cierto y luego se detiene
Imagen tomada de: Página 690 Discovering Computers 2012: Chapter 13, Figure 13‐31.
Herramientas para el diseño de
soluciones algorítmicas lógicas
de programas
Para ayudar a los programadores a desarrollar
soluciones algorítmicas para resolver problemas
computacionales, se utilizan herramientas de
diseño. Las dos principales herramientas de
diseño de programas computacionales son:
diagramas de flujo de programación “program
flowchart” y pseudocódigos “pseudocode”.
Diseño de “software” programas:
Diagramas de flujo de programación “program
flowchart”
Un diagrama de flujo o
“flowchart” es una
representación gráfica
que muestra el
algoritmo lógico que
solucionará el problema
computacional (el
comportamiento lógico
del programa a
desarrollar).
El “Flowchart” fue desarrollado en los 1960 por la
“American National Standards Institute” (ANSI) con el
propósito de estandarizar el diseño de software y no
ha perdido vigencia su utilidad.
Imagen tomada de: Página 691 Discovering Computers 2012: Chapter 13, Figure 13‐33.
Diseño de “software” programas:
Diagramas de flujo de programación “program
flowchart”
Aun que en la actualidad existe una gran variedad de aplicaciones para diseñar diagramas de flujo
para programación, el “flowchart template” sigue siendo utilizado. Recordemos que podemos
diseñar programas con lápiz y papel.
Símbolos ANSI del diagrama de flujo “flowchart”
Process (proceso) – Se utiliza para especificar instrucciones de
programación que generarán cambios en el programa.
Input / Output (entrada y/o slida) - Se utiliza para especificar
entradas o salidas en el programa. (hay que identificar siempre su uso)
Decision (condición) (IF) – Se utiliza para especificar una
condición que determinará el flujo a seguir de acuerdo a si se
cumple o no la misma.
Terminal (límites) – Se utilizan para establecer el inició o el fin de
un procedimiento computacional. (hay que identificar siempre su uso)
Conector - Se utiliza para conectar un módulo o parte de uno con
otra sección del modulo en el flowchart , pero en la misma página.
Conector - Se utiliza para conectar un módulo o parte de uno
con otra sección del modulo en otra página de flowchart.
Símbolos ANSI del diagrama de flujo “flowchart”
Display (monitor) – Se utiliza para especificar que el “output”
(salida) sólo será a través del monito.
Manual Operation (proceso manual) – Se utiliza para
especificar que el proceso será llevado a cabo manual o
mecánicamente.
Print Document – Se utiliza para especificar que el “output”
(salida) sólo será a través de la impresora.
Flechas de Flujo – Se utilizan para establecer e ilustrar la
secuencia general de flujo.
Anotation (Documentación) – Se utiliza para crear anotaciones
y comentarios adicionales y especificar secuencias.
Predefined Process (proceso pre-definido) – Se utiliza para
especificar procesos o rutinas de proceso previamente
especificadas.
Diseño de “software” programas: “Pseudocode:
El pseudocódigo utiliza una
condensada forma del idioma
ingles para transmitir la lógica
del programa. Algunos
programadores prefieren
explicar la solución lógica de un
programa utilizando un
algoritmo de palabras y
oraciones (pseudocódigo), en
vez de la técnica de
representación gráfica con el
“flowchart”. El pseudocódigo utiliza la técnica de la
indentación. Por ejemplo, como se muestra en la
figura de arriba, el comienzo y el fin del
procedimiento computacional, estan pegados al
margen izquierdo del documento.
Imagen tomada de: Página 692, Discovering
Computers 2012: Chapter 13, Figure 13‐35.
3. Validar el Diseño
Una vez el programador a desarrollado y
diseñado el algoritmo con la solución lógica del
problema, tiene que validarlo y asegurarse que
la solución que propuso es adecuada y resuelve
el problema.
Validar el Diseño
Recuerde que un error de lógica es un defecto en el
diseño que causa un resultado inexacto o incorrecto.
Validar el diseño es el
proceso de identificar y
corregir errores de lógica en
la solución algorítmica
propuesta. Se utilizan dos
técnicas para validar diseño:
 “Desck check”
 Inspección
Técnica de validar el diseño “Desk check”
El “desk check” es la técnica para validar el diseño y comprobar
si hay errores lógicos utilizando datos de prueba “test data”. El
programador que diseño el algoritmo de solución, por lo general
es el que valida el diseño con el “desk check”.
Crear varios conjuntos de datos de prueba
Determinar el resultado esperado
Pasar los datos a través del algoritmo
Comparar los resultados con el resultado esperado
Repetir los pasos para cada conjunto de datos de
prueba
4. Implementar el Diseño
La implementación del diseño incluye el uso de una
herramienta de desarrollo de programa (un lenguaje de
programación) que le permita al programador:
 Generar o proporcionar la
manera de codificar.
 Escribir el código que
traduce el diseño en un
programa de computadoras.
 Crear la interfaz de usuario
Codificar es el proceso de traducir el algoritmo de la solución, utilizando un lenguaje de
programación. A veces se codifica hasta en una hoja de papel, para luego entrarlo en
la computadora.
4. Implementar el Diseño
4. Implementar el Diseño
En esta etapa se hace revisión del código
contantemente para detectar los errores que
van surgiendo al codificar y se reparan. Se inicia
la depuración del código.
Los programadores aprovechan los errores o “bug” que van detectando y corrigiendo
para hacer documentación de los mismos en el código.
5. Probar la Solución
Una vez esta implementado el programa
(proceso de escribir el código mediante un
lenguaje de programación), hay que probarlo.
El objetivo de probar (correr
la aplicación) el programa es
asegurarse que el programa
se ejecuta correctamente y
está libre de errores.
Probar la Solución (Depurar el código)
La depuración del programa consiste
en quitar los errores. Utilizando
datos de prueba “test data” el
programador puede detectar
errores de sintaxis y errores de
lógica mediante la técnica conocida
como “Run time error” (entrar data
de prueba para forzar errores).
Depurar el código “debugging”
Durante esta etapa el programador coteja y corrige los errores y fallas que no
contempló en el diseño (depurar el código). La implementación se relaciona
con la instalación del software o programa y con permitir que los usuarios lo
prueben.
Recordemos que depurar es el
proceso de identificar y corregir
errores de programación. Los
principales errores son de lógica o de
sintaxis.
 Error de lógica es un defecto en el
diseño que causa un resultado
inexacto o incorrecto.
 Error de sintaxis es una falla o
violación gramatical en la(s)
línea(s) de código o instrucción .
Probar la Solución ( Versiones Beta)
Una versión beta es un programa que tiene la mayoría o la
totalidad de las características y funcionalidades de un
programa ya implementadas y que se libera a los usuarios,
para que lo utilicen y detecten e informen errores.
6. Documentar Solución
La documentación de un programa incluye todas las
gráficas, tablas, soluciones algorítmicas, pruebas,
resultados de datos de pruebas y el código del
programa que a su vez debe estar bien documentado
con comentarios específicos y generales relacionados
al código.
6. Documentar Solución
En la documentación de la solución, el programador
realiza dos actividades:
1. Revisar el código del programa para detectar cualquier
tipo de código muerto (se escribió, pero no se usó) y
eliminarlo.
2. Revisar toda la documentación antes de entregar el
programa.
 Si el programa requiere mejoras o hacerle cambios en el
futuro, es sumamente importante la documentación.
 Esta práctica reduce la cantidad de tiempo que otro
programador gastaría en entender el código del programa.
Nota: siempre que se elimina código muerto, hay que probar (correr el programa) nuevamente.
7. Mantenimiento
El mantenimiento comienza tan pronto se haya
instalado el programa. Las razones pueden ser varias:
Parchos
Corregir errores
menores
(vulnerabilidades) que
no se hayan reparado en
el momento en que el
programa fue
terminado.
Actualizaciones
Añadir funciones nuevas
importantes en
respuesta a las
demandas del mercado
o a las solicitudes de los
usuarios.
Ciclo de vida para desarrollar un programa de computadoras “program development live cicle” (pdlc)
Bibliografía
• Shelly, G.B. & Vermaat, M.E. (2012). Discovering Computers
Your Interactive Guide to the Digital World. Course
Technology Cengage Learning, Boston, MA. USA. (ISBN-13:
978-1-1115-3032-7)
• Norton, P. (2006). Peter Norton Introduction to Computers.
Mc Graw Hill. (ISBN-10: 970-10-5108-4)
• http://es.wikipedia.org/wiki/Programaci%C3%B3n
• http://puracompu.com/?p=144

Más contenido relacionado

PDF
Los (8) pasos de la Programaión
PDF
Qué es visual basic
PDF
Etapas del desarrolo de un programa
PPTX
PPT
PPT
Introducción A La Programación
PPTX
Etapas para Desarrollar un Programa
Los (8) pasos de la Programaión
Qué es visual basic
Etapas del desarrolo de un programa
Introducción A La Programación
Etapas para Desarrollar un Programa

La actualidad más candente (20)

DOCX
Mapa conceptual fases en el desarrollo de un programa
PPTX
fases de programacion
PPTX
Fases del proceso de programación
PPTX
Fases del proceso de programación
PPTX
las fases del proceso de programacion
PPTX
Fases del proceso de programación
PPTX
Elementos de programacion
DOCX
PDF
Fase Análisis y Diseño
DOCX
PPTX
1 introduccion a la programacion 1
DOCX
Java y conceptos de apoyo
PDF
Especificación de Requerimiento
PPTX
Fases del proceso de la programación
PPTX
Fases de dasorrollo de un software Mapa Conceptual
PPTX
Ciclo Vida del Software
PPTX
Fundamentos de Programacion - Unidad 1 conceptos basicos
PPTX
Sistemas De Informacion IV
PPTX
Herramientas de Desarrollo de Software
PPTX
Fases del proceso de programación
Mapa conceptual fases en el desarrollo de un programa
fases de programacion
Fases del proceso de programación
Fases del proceso de programación
las fases del proceso de programacion
Fases del proceso de programación
Elementos de programacion
Fase Análisis y Diseño
1 introduccion a la programacion 1
Java y conceptos de apoyo
Especificación de Requerimiento
Fases del proceso de la programación
Fases de dasorrollo de un software Mapa Conceptual
Ciclo Vida del Software
Fundamentos de Programacion - Unidad 1 conceptos basicos
Sistemas De Informacion IV
Herramientas de Desarrollo de Software
Fases del proceso de programación
Publicidad

Destacado (20)

PDF
Búsquedas efectivas en
PPTX
Taller de introducción a las computadoras for reparación
PPTX
Ciclo de vida de una computadora desde los
PDF
Términos relacionados a la programación
PPTX
Pasos para desarrollar una aplicación en visual basic
PDF
Visual basic por primera vez
PDF
Generaciones de los lenguajes de programación
PPT
Ciclos de vida del software
PPSX
Tecnología y poder en la formación del maestro
PPTX
Diagrama de flujo simbologia
PPTX
CH08-Types of Utility programs and Operating System
PPTX
Los sistemas operativos prof j romero
PPT
objetos option check y frame
PPTX
empleo de los controles de las herramientas de visual basic
PPTX
Taller de introducción a las computadoras
PPTX
Discovering Computers: Chapter 15
PDF
Diagrama uml ing software i promecys
DOCX
Flujograma de sistemas de informacion ♣♣
PPTX
Herramienta frame en visual basic
PDF
Ciclo De Vida
Búsquedas efectivas en
Taller de introducción a las computadoras for reparación
Ciclo de vida de una computadora desde los
Términos relacionados a la programación
Pasos para desarrollar una aplicación en visual basic
Visual basic por primera vez
Generaciones de los lenguajes de programación
Ciclos de vida del software
Tecnología y poder en la formación del maestro
Diagrama de flujo simbologia
CH08-Types of Utility programs and Operating System
Los sistemas operativos prof j romero
objetos option check y frame
empleo de los controles de las herramientas de visual basic
Taller de introducción a las computadoras
Discovering Computers: Chapter 15
Diagrama uml ing software i promecys
Flujograma de sistemas de informacion ♣♣
Herramienta frame en visual basic
Ciclo De Vida
Publicidad

Similar a Ciclo de vida para desarrollar un programa de computadoras “program development live cicle” (pdlc) (20)

PDF
El algoritmo como estrategia y herramienta para la solución de problemas
PDF
Guía básica de Visual Basic 6.0
PPTX
ALGORITMOS y ejemplo en java.pptx
PPTX
PPT
Modulo 1 algoritmo
PPT
Modulo 1 algoritmo
PPTX
Presentación1
DOC
Ensayo de software
PPTX
modelos del proceso del software
PPTX
PPT
Introducción a la Programación
DOCX
Unidad 1
DOCX
Tarea 13
PPTX
Sistemas Unidad IV
DOCX
Ensayo Software
PPT
Lenguajes de programación parte i.3
PDF
Programacio nfin
PPTX
Apun9algol
PPTX
MODELO DE DESARRROLLO DE SOFTWARE
PDF
Diseño estructurado
El algoritmo como estrategia y herramienta para la solución de problemas
Guía básica de Visual Basic 6.0
ALGORITMOS y ejemplo en java.pptx
Modulo 1 algoritmo
Modulo 1 algoritmo
Presentación1
Ensayo de software
modelos del proceso del software
Introducción a la Programación
Unidad 1
Tarea 13
Sistemas Unidad IV
Ensayo Software
Lenguajes de programación parte i.3
Programacio nfin
Apun9algol
MODELO DE DESARRROLLO DE SOFTWARE
Diseño estructurado

Más de romeprofe (20)

PPTX
Emprendimiento prof javier romero
PPTX
Analogia de un Sistema Operativo
PDF
Introducción a los sistemas de bases de datos
PDF
Integrando recursos tecnológicos e internet en la sala de clase
PDF
Historia de las computadoras
PDF
Categorías o tipos de computadoras
PDF
5.1 asignación
PDF
Cómo hacer un ensayo
PDF
Repaso examen parcial 1 inte 3510 l nuca
PDF
Conversión de binario a octal
PDF
Generaciones de computadoras
PDF
Electricidad basica pdf
PDF
Conceptos Básicos de Cableado de Red Estructurado
PDF
Aprendizaje significativo desarrollando destrezas educativas para el siglo xxi 2
PDF
Estrategias de instrucción diferenciada distrito abril 2015 (1)
PDF
Pasos para crear paginas web
PPTX
Qué es visual basic
PDF
Introducción a html
PDF
La escala de un diseño
PDF
Auditoría de la seguridad cibernética
Emprendimiento prof javier romero
Analogia de un Sistema Operativo
Introducción a los sistemas de bases de datos
Integrando recursos tecnológicos e internet en la sala de clase
Historia de las computadoras
Categorías o tipos de computadoras
5.1 asignación
Cómo hacer un ensayo
Repaso examen parcial 1 inte 3510 l nuca
Conversión de binario a octal
Generaciones de computadoras
Electricidad basica pdf
Conceptos Básicos de Cableado de Red Estructurado
Aprendizaje significativo desarrollando destrezas educativas para el siglo xxi 2
Estrategias de instrucción diferenciada distrito abril 2015 (1)
Pasos para crear paginas web
Qué es visual basic
Introducción a html
La escala de un diseño
Auditoría de la seguridad cibernética

Último (20)

PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PPTX
caso clínico iam clinica y semiología l3.pptx
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
2.0 Introduccion a processing, y como obtenerlo
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
Tomo 1 de biologia gratis ultra plusenmas
Presentación de la Cetoacidosis diabetica.pptx
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PLANES DE área ciencias naturales y aplicadas
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
ciencias-1.pdf libro cuarto basico niños
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Híper Mega Repaso Histológico Bloque 3.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
caso clínico iam clinica y semiología l3.pptx
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx

Ciclo de vida para desarrollar un programa de computadoras “program development live cicle” (pdlc)

  • 2. “Si no sabe qué necesita hacer, mucho menos sabrá cómo hacerlo”…
  • 3. Desarrollo de un programa de computadoras El desarrollo de un programa de computadoras (program development) consiste en una serie de pasos que los programadores debemos utilizar para poder desarrollar o construir programas de computadoras. Primer paso Segundo paso Tercer paso
  • 4. Ciclo de vida para desarrollar un programa de computadoras “Program Development Live Cicle” (PDLC) El “Program Development Live Cicle” (PDLC), quía al programador a través de las etapas que conlleva el desarrollo de un programa de computadoras. El mismo consiste en siete pasos fundamentales.
  • 5. 1. Analizar Requerimientos 2. Diseñar Solución 3.Validar el Diseño 4. Implementar el Diseño 5. Probar la Solución 6. Documentar Solución 7. Mantenimiento Ciclo de vida para desarrollar un programa de computadoras “Program Development Live Cicle” (PDLC)
  • 6. 1. El análisis de requerimientos se resume entres (3) pasos: 1. Repasar el problema y establecer requerimientos.  Estudiar y analizar informes, pedidos, reportes, gráficas, tablas o cualquier documento que evidencie las actividades generales y especificas del cliente. 2. Reunirse con el analista de sistemas y usuarios.  Tener la perspectiva del analista del sistema como la de los usuarios finales ayuda, al programador a tener mejor entendimiento del propósito del programa, lo cuál lo lleva a construir un certero diseño de las especificaciones. 3. Identificar las posibles: Entradas, Procesos y Salidas (INPUT / PROCESS/ OUTPUT) y otros componentes relacionados a la data que realizará el programa. Trabajar con una Tabla IPO.
  • 7. Ejemplo de una Tabla o Gráfica IPO (IPO Chart) Input Processing Output Horas Trabajadas Regulares Leer y registrar las horas trabajadas por los trabajadores o empleados, calcular el pago de acuerdo al salario por hora. Pago Neto (después de las deducciones). Horas Trabajadas en exceso a 40 (overtime hours) Si el empleado trabajó tiempo extra, calcular el pago por horas extras. Pago Salario por Hora Calcular e imprimir el sueldo bruto.
  • 8. 2. Diseñar la solución El segundo paso es diseñar la solución que cumplirá con los requisitos de los usuarios y resolverá el problema en general. Para construir el diseño de la solución, el programador desarrollará y creará un algoritmo que establezca los pasos a seguir para la solución del problema. Algoritmo = serie de pasos o procedimientos (gráficos o escritos) que se establecen para la solución de un problema. Determinar el comportamiento lógico de un programa es mayormente el principal reto de los programadores.
  • 9. A continuación veremos algunos de los principales modelos utilizados por lo programadores para desarrollar el diseño de soluciones. 2. Diseñar la solución
  • 10. Diseño Estructurado (Structured Design) El diseño estructurado le permite al programador comenzar con un diseño general y luego moverse a un diseño más detallado (moverse de lo general a lo especifico). Primero se identifica el funcionalidad o rutina principal del programa (main module). Luego el programador descompone o rompe dicha rutina principal en pequeñas secciones conocidas como sub-rutinas o módulos. Se analiza cada sub-rutina o módulo para determinar si puede ser descompuesta en otra sub-rutina o módulo más pequeño. Para hacer este tipo de diseño el programador utiliza una Gráfica Jerárquica (Hierarchy Chart). Una gráfica jerárquica contiene rectángulos y líneas donde cada rectángulo representa un módulo y las líneas su conexión jerárquica.
  • 11. Gráfica Jerárquica (Hierarchy Chart) Imagen tomada de: Página 688, Discovering Computers 2012: Chapter 13, Figure 13‐25. A pesar de su simpleza para diseñar soluciones, muchos programadores coinciden en que es un sistema de diseño poco eficiente por que es propenso a la duplicidad de procedimientos y códigos.
  • 12. Diseño Orientado a Objetos (Object-Oriented Design) Los objetos son elementos que puede contener datos y procedimientos que leen y manipulan la data. Un objeto es como una caja donde no se puede ver el contenido de su interior desde afuera. A diferencia de el Diseño Estructurado, con el Diseño Orientado a Objetos el programador puede empaquetar data y procedimiento en una unidad u objeto y cuando la estructura de un objeto cambia, cualquier programa que accede al objeto automáticamente accede al cambio también. Imagen tomada de: Página 635 Discovering Computers 2012: Chapter 12, Figure 12‐14
  • 13. Diseño Orientado a Objetos (Object-Oriented Design) El concepto de empaquetado (packaging) data y procedimiento es también conocido como encapsulación.  Un diagrama de clases muestra gráficamente clases y subclases en un sistema.  Cada clase puede tener una o más subclases.  Las subclases utilizan herencia para heredar métodos y atributos de niveles más altos. Imagen tomada de: Página 635 Discovering Computers 2012: Chapter 12, Figure 12‐14 Un atributo describe las características de un objeto.
  • 14. 2. Diseñar solución (Estructuras de Control) Independientemente el programador utilice para diseñar su solución el método de Diseño Estructurado o Diseño Orientado a Objetos, necesita trabajar con una estructura de control para describir las tareas que el programa tiene que desempeñar. Una estructura de control presenta el orden lógico de las instrucciones o procedimientos de un programa.
  • 15. Las tres (3) estructuras básicas de control utilizadas en programación son: Estructura de Control Secuencial Estructura de Control de Selección Estructura de Control de repetición
  • 16. Estructura de Control Secuencial La estructura de control secuencial muestra las acciones que seguirá un programa de manera lineal, (una o más acciones seguida de la acción anterior). Las acciones pueden ser “input”, “processes” and “outputs”. Todas las acciones deben ser ejecutadas y ninguna puede obviarse. Imagen tomada de: Página 689 Discovering Computers 2012: Chapter 13, Figure 13‐27.
  • 17. Estructura de Control de Selección La estructura de control de selección le indica al programa que acción tomar dependiendo de la condición que se presente. Dos tipos comunes de estructuras de selección son el “if-then-else” y la de “case”. En algunas situaciones el programa puede ejecutar una acción sólo si la condición es cierta.. Imagen tomada de: Página, Discovering Computers 2012: Chapter 13, Figure 13‐28.
  • 18. Control de Selección “if-then-else” La estructura de control “if-then-else” dirige al programa a través del curso de acción que debe seguir, basado en la evaluación de la condición.
  • 19. Control de Selección “case control” Con la estructura de selección “case control” una condición puede producir una de tres o más posibilidades. La acción a tomar por el programa va a depender de la condición seleccionada. La estructura de selección “case control” permite más de dos alternativas después de evaluar la condición.
  • 20. Control de Selección “repetition” La estructura de control de repetición permite al programa desempeñar una o más acciones repetitivamente hasta que cierta condición se cumpla o no se cumpla. Muchos programadores le llaman a esta estructura de control “loop”. Dos maneras de trabajar con este tipo de estructura de control de repetición son: “Do-while” and “Do-until”.
  • 21. Control de selección de repetición “Do-while” La estructura de control de repetición “do-while” repite un procedimiento una o más veces hasta que cierta condición sea cierta (que se cumpla). Este tipo de estructura de control prueba o valida una condición al principio del “loop”, a este proceso se le conoce como “pretest”. Con “Do-while” si el resultado de la condición es cierto, el programa ejecuta la acción o acciones contenidas en el “loop” continuamente, hasta que la condición sea falsa. Imagen tomada de: Página 690 Discovering Computers 2012: Chapter 13, Figure 13‐30.
  • 22. Control de selección de repetición “Do-until” La estructura de control de repetición “do-until” es similar a la de “do-while” pero tiene dos marcadas diferencias: Cuando la condición es evaluada o probada y cuando se detiene el proceso del “loop”. Primero que nada el “do- until” espera hasta que se detenga el “loop” para validar y probar la condición (posttest). Continua repetitivamente hasta que cierta condición se cumpla. Con “do-until” a diferencia de “do-while”, la acción siempre se ejecuta por lo menos una vez, hasta que el resultado de la condición sea cierto y luego se detiene Imagen tomada de: Página 690 Discovering Computers 2012: Chapter 13, Figure 13‐31.
  • 23. Herramientas para el diseño de soluciones algorítmicas lógicas de programas Para ayudar a los programadores a desarrollar soluciones algorítmicas para resolver problemas computacionales, se utilizan herramientas de diseño. Las dos principales herramientas de diseño de programas computacionales son: diagramas de flujo de programación “program flowchart” y pseudocódigos “pseudocode”.
  • 24. Diseño de “software” programas: Diagramas de flujo de programación “program flowchart” Un diagrama de flujo o “flowchart” es una representación gráfica que muestra el algoritmo lógico que solucionará el problema computacional (el comportamiento lógico del programa a desarrollar). El “Flowchart” fue desarrollado en los 1960 por la “American National Standards Institute” (ANSI) con el propósito de estandarizar el diseño de software y no ha perdido vigencia su utilidad. Imagen tomada de: Página 691 Discovering Computers 2012: Chapter 13, Figure 13‐33.
  • 25. Diseño de “software” programas: Diagramas de flujo de programación “program flowchart” Aun que en la actualidad existe una gran variedad de aplicaciones para diseñar diagramas de flujo para programación, el “flowchart template” sigue siendo utilizado. Recordemos que podemos diseñar programas con lápiz y papel.
  • 26. Símbolos ANSI del diagrama de flujo “flowchart” Process (proceso) – Se utiliza para especificar instrucciones de programación que generarán cambios en el programa. Input / Output (entrada y/o slida) - Se utiliza para especificar entradas o salidas en el programa. (hay que identificar siempre su uso) Decision (condición) (IF) – Se utiliza para especificar una condición que determinará el flujo a seguir de acuerdo a si se cumple o no la misma. Terminal (límites) – Se utilizan para establecer el inició o el fin de un procedimiento computacional. (hay que identificar siempre su uso) Conector - Se utiliza para conectar un módulo o parte de uno con otra sección del modulo en el flowchart , pero en la misma página. Conector - Se utiliza para conectar un módulo o parte de uno con otra sección del modulo en otra página de flowchart.
  • 27. Símbolos ANSI del diagrama de flujo “flowchart” Display (monitor) – Se utiliza para especificar que el “output” (salida) sólo será a través del monito. Manual Operation (proceso manual) – Se utiliza para especificar que el proceso será llevado a cabo manual o mecánicamente. Print Document – Se utiliza para especificar que el “output” (salida) sólo será a través de la impresora. Flechas de Flujo – Se utilizan para establecer e ilustrar la secuencia general de flujo. Anotation (Documentación) – Se utiliza para crear anotaciones y comentarios adicionales y especificar secuencias. Predefined Process (proceso pre-definido) – Se utiliza para especificar procesos o rutinas de proceso previamente especificadas.
  • 28. Diseño de “software” programas: “Pseudocode: El pseudocódigo utiliza una condensada forma del idioma ingles para transmitir la lógica del programa. Algunos programadores prefieren explicar la solución lógica de un programa utilizando un algoritmo de palabras y oraciones (pseudocódigo), en vez de la técnica de representación gráfica con el “flowchart”. El pseudocódigo utiliza la técnica de la indentación. Por ejemplo, como se muestra en la figura de arriba, el comienzo y el fin del procedimiento computacional, estan pegados al margen izquierdo del documento. Imagen tomada de: Página 692, Discovering Computers 2012: Chapter 13, Figure 13‐35.
  • 29. 3. Validar el Diseño Una vez el programador a desarrollado y diseñado el algoritmo con la solución lógica del problema, tiene que validarlo y asegurarse que la solución que propuso es adecuada y resuelve el problema.
  • 30. Validar el Diseño Recuerde que un error de lógica es un defecto en el diseño que causa un resultado inexacto o incorrecto. Validar el diseño es el proceso de identificar y corregir errores de lógica en la solución algorítmica propuesta. Se utilizan dos técnicas para validar diseño:  “Desck check”  Inspección
  • 31. Técnica de validar el diseño “Desk check” El “desk check” es la técnica para validar el diseño y comprobar si hay errores lógicos utilizando datos de prueba “test data”. El programador que diseño el algoritmo de solución, por lo general es el que valida el diseño con el “desk check”. Crear varios conjuntos de datos de prueba Determinar el resultado esperado Pasar los datos a través del algoritmo Comparar los resultados con el resultado esperado Repetir los pasos para cada conjunto de datos de prueba
  • 32. 4. Implementar el Diseño La implementación del diseño incluye el uso de una herramienta de desarrollo de programa (un lenguaje de programación) que le permita al programador:  Generar o proporcionar la manera de codificar.  Escribir el código que traduce el diseño en un programa de computadoras.  Crear la interfaz de usuario Codificar es el proceso de traducir el algoritmo de la solución, utilizando un lenguaje de programación. A veces se codifica hasta en una hoja de papel, para luego entrarlo en la computadora.
  • 33. 4. Implementar el Diseño
  • 34. 4. Implementar el Diseño En esta etapa se hace revisión del código contantemente para detectar los errores que van surgiendo al codificar y se reparan. Se inicia la depuración del código. Los programadores aprovechan los errores o “bug” que van detectando y corrigiendo para hacer documentación de los mismos en el código.
  • 35. 5. Probar la Solución Una vez esta implementado el programa (proceso de escribir el código mediante un lenguaje de programación), hay que probarlo. El objetivo de probar (correr la aplicación) el programa es asegurarse que el programa se ejecuta correctamente y está libre de errores.
  • 36. Probar la Solución (Depurar el código) La depuración del programa consiste en quitar los errores. Utilizando datos de prueba “test data” el programador puede detectar errores de sintaxis y errores de lógica mediante la técnica conocida como “Run time error” (entrar data de prueba para forzar errores).
  • 37. Depurar el código “debugging” Durante esta etapa el programador coteja y corrige los errores y fallas que no contempló en el diseño (depurar el código). La implementación se relaciona con la instalación del software o programa y con permitir que los usuarios lo prueben. Recordemos que depurar es el proceso de identificar y corregir errores de programación. Los principales errores son de lógica o de sintaxis.  Error de lógica es un defecto en el diseño que causa un resultado inexacto o incorrecto.  Error de sintaxis es una falla o violación gramatical en la(s) línea(s) de código o instrucción .
  • 38. Probar la Solución ( Versiones Beta) Una versión beta es un programa que tiene la mayoría o la totalidad de las características y funcionalidades de un programa ya implementadas y que se libera a los usuarios, para que lo utilicen y detecten e informen errores.
  • 39. 6. Documentar Solución La documentación de un programa incluye todas las gráficas, tablas, soluciones algorítmicas, pruebas, resultados de datos de pruebas y el código del programa que a su vez debe estar bien documentado con comentarios específicos y generales relacionados al código.
  • 40. 6. Documentar Solución En la documentación de la solución, el programador realiza dos actividades: 1. Revisar el código del programa para detectar cualquier tipo de código muerto (se escribió, pero no se usó) y eliminarlo. 2. Revisar toda la documentación antes de entregar el programa.  Si el programa requiere mejoras o hacerle cambios en el futuro, es sumamente importante la documentación.  Esta práctica reduce la cantidad de tiempo que otro programador gastaría en entender el código del programa. Nota: siempre que se elimina código muerto, hay que probar (correr el programa) nuevamente.
  • 41. 7. Mantenimiento El mantenimiento comienza tan pronto se haya instalado el programa. Las razones pueden ser varias: Parchos Corregir errores menores (vulnerabilidades) que no se hayan reparado en el momento en que el programa fue terminado. Actualizaciones Añadir funciones nuevas importantes en respuesta a las demandas del mercado o a las solicitudes de los usuarios.
  • 43. Bibliografía • Shelly, G.B. & Vermaat, M.E. (2012). Discovering Computers Your Interactive Guide to the Digital World. Course Technology Cengage Learning, Boston, MA. USA. (ISBN-13: 978-1-1115-3032-7) • Norton, P. (2006). Peter Norton Introduction to Computers. Mc Graw Hill. (ISBN-10: 970-10-5108-4) • http://es.wikipedia.org/wiki/Programaci%C3%B3n • http://puracompu.com/?p=144