SlideShare une entreprise Scribd logo
1  sur  5
La programación informática, acortada como programación, es el proceso de
diseñar, codificar, depurar y mantener el código fuente de programas
computacionales. El código fuente es escrito en un lenguaje de programación. El
propósito de la programación es crear programas que exhiban un comportamiento
deseado. El proceso de escribir código requiere frecuentemente conocimientos en
varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos
especializados y lógica formal. Programar no involucra necesariamente otras
tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código),
aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
Del proceso de programación surge lo que comúnmente se conoce como software
(conjunto de programas), aunque estrictamente este último abarca mucho más
que sólo la programación.
Historia
Para crear un programa, y que la computadora lo intérprete y ejecute las
instrucciones escritas en él, debe usarse un lenguaje de programación. En sus inicios
las computadoras interpretaban sólo instrucciones en un lenguaje específico, del más
bajo nivel, conocido como código máquina, siendo éste excesivamente complicado
para programar. De hecho sólo consiste en cadenas de números 1 y 0 (sistema
binario). Para facilitar el trabajo de programación, los primeros científicos que
trabajaban en el área decidieron reemplazar las instrucciones, secuencias de unos y
ceros, por palabras o letras provenientes del inglés; las codificaron y crearon así un
lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por
ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar).
Programas y algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de
seguirse para resolver un problema. Un programa normalmente implementa (traduce a un
lenguaje de programación concreto) uno o más algoritmos. Un algoritmo puede expresarse de
distintas maneras: en forma gráfica, como un diagrama de flujo, en forma de código como en
pseudocódigo o un lenguaje de programación, en forma explicativa, etc.
Los programas suelen subdividirse en partes menores, llamadas módulos, de modo que la
complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo
cual ayuda al desarrollo del programa. Esta es una práctica muy utilizada y se conoce como
"refino progresivo".
Según Niklaus Wirth, un programa está formado por los algoritmos y la estructura de datos.
Se han propuesto diversas técnicas de programación cuyo objetivo es mejorar tanto el proceso
de creación de software como su mantenimiento. Entre ellas, se pueden mencionar las
siguientes:
programación declarativa
programación estructurada
programación modular
programación orientada a objetos
Ciclo de vida del software
Artículo principal: Proceso para el desarrollo de software
El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final,
incluyendo su estado funcional. El propósito es definir las distintas fases intermedias que se requieren para
validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la
aplicación y verificación de los procedimientos de desarrollo: se asegura que los métodos utilizados son
apropiados. Estos métodos se originan en el hecho de que es muy costoso rectificar los errores que se
detectan tarde dentro de la fase de implementación (programación propiamente dicha), o peor aun, durante la
fase funcional. El modelo de ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto,
permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en
los costos asociados. El ciclo de vida básico de un software consta de, al menos, los siguientes
procedimientos:
Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar
cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): es la implementación en un lenguaje de programación para
crear las funciones definidas durante la etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se
implementaron de acuerdo con las especificaciones.
Integración: para garantizar que los diferentes módulos y subprogramas se integren con la aplicación. Éste es
el propósito de la prueba de integración que debe estar cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
Documentación: se documenta con toda la información necesaria, sea funcional final para los usuarios del
software (manual del usuario), y de desarrollo para futuras adaptaciones, ampliaciones y correcciones.
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones
secundarias del software (mantenimiento continuo).

Contenu connexe

Tendances (20)

Proyectos informaticos
Proyectos informaticosProyectos informaticos
Proyectos informaticos
 
Programacion
ProgramacionProgramacion
Programacion
 
software del sistema
software del sistemasoftware del sistema
software del sistema
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Informatica
InformaticaInformatica
Informatica
 
Procedimiento de creación de un programa
Procedimiento de creación de un programaProcedimiento de creación de un programa
Procedimiento de creación de un programa
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programa
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftware
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Trabajo practico libro3
Trabajo practico libro3Trabajo practico libro3
Trabajo practico libro3
 
Características del lenguaje de programación
Características del lenguaje de programaciónCaracterísticas del lenguaje de programación
Características del lenguaje de programación
 
Programación
Programación  Programación
Programación
 
Humbis lenguaje
Humbis lenguajeHumbis lenguaje
Humbis lenguaje
 
Lenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn BrookshearLenguajes de programacion. Segun Glenn Brookshear
Lenguajes de programacion. Segun Glenn Brookshear
 
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
Pteg g-grupo2-lista38-10-3-40-36-19-visita3-expo cap 6 tema lenguajes de prog...
 
2 del blog
2 del blog2 del blog
2 del blog
 

En vedette

Ley no 423-06_organica_de_presupuesto_para_sector_publico
Ley no 423-06_organica_de_presupuesto_para_sector_publicoLey no 423-06_organica_de_presupuesto_para_sector_publico
Ley no 423-06_organica_de_presupuesto_para_sector_publicoAlfredo Alberto Carrasco
 
Presentación smartbusiness
Presentación smartbusinessPresentación smartbusiness
Presentación smartbusinessSergio Rojas
 
Redes Sociales Katherine carvajal
Redes Sociales Katherine carvajalRedes Sociales Katherine carvajal
Redes Sociales Katherine carvajalkatyliz991811
 
Hoja de vida olga
Hoja de vida olgaHoja de vida olga
Hoja de vida olgaOlgaJurado
 
Ausbanc abogados
Ausbanc abogadosAusbanc abogados
Ausbanc abogadosLuis Pineda
 
Trucos Simples Para Tener Una Boda Perfecta
Trucos Simples Para Tener Una Boda PerfectaTrucos Simples Para Tener Una Boda Perfecta
Trucos Simples Para Tener Una Boda Perfectasablescrutiny7271
 
April 2010 For Get Me Knots
April 2010 For Get Me KnotsApril 2010 For Get Me Knots
April 2010 For Get Me KnotsJackiekaywells
 
Edward
EdwardEdward
EdwardLigass
 
Fotostory benni forsthaus templin
Fotostory benni forsthaus templinFotostory benni forsthaus templin
Fotostory benni forsthaus templingibfive
 
TEORÍA DIALÓGICA DE LA EDUCACIÓN
TEORÍA DIALÓGICA DE LA EDUCACIÓNTEORÍA DIALÓGICA DE LA EDUCACIÓN
TEORÍA DIALÓGICA DE LA EDUCACIÓNMCarorivero
 
Medio tic uno
Medio tic unoMedio tic uno
Medio tic unoelvvarde
 
El arte de la mditacion matthieu ricard
El arte de la mditacion matthieu ricardEl arte de la mditacion matthieu ricard
El arte de la mditacion matthieu ricardAledian
 

En vedette (20)

Ley no 423-06_organica_de_presupuesto_para_sector_publico
Ley no 423-06_organica_de_presupuesto_para_sector_publicoLey no 423-06_organica_de_presupuesto_para_sector_publico
Ley no 423-06_organica_de_presupuesto_para_sector_publico
 
Reporte de USO PC
Reporte de USO PC Reporte de USO PC
Reporte de USO PC
 
Artes frida kahlo
Artes frida kahloArtes frida kahlo
Artes frida kahlo
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Presentación smartbusiness
Presentación smartbusinessPresentación smartbusiness
Presentación smartbusiness
 
Configuración remota DVR KIT
Configuración remota DVR KITConfiguración remota DVR KIT
Configuración remota DVR KIT
 
Redes Sociales Katherine carvajal
Redes Sociales Katherine carvajalRedes Sociales Katherine carvajal
Redes Sociales Katherine carvajal
 
Hoja de vida olga
Hoja de vida olgaHoja de vida olga
Hoja de vida olga
 
Ausbanc abogados
Ausbanc abogadosAusbanc abogados
Ausbanc abogados
 
Trucos Simples Para Tener Una Boda Perfecta
Trucos Simples Para Tener Una Boda PerfectaTrucos Simples Para Tener Una Boda Perfecta
Trucos Simples Para Tener Una Boda Perfecta
 
April 2010 For Get Me Knots
April 2010 For Get Me KnotsApril 2010 For Get Me Knots
April 2010 For Get Me Knots
 
DISTRIBUTION REPORT DEC 2010
DISTRIBUTION REPORT DEC 2010DISTRIBUTION REPORT DEC 2010
DISTRIBUTION REPORT DEC 2010
 
Edward
EdwardEdward
Edward
 
Fotostory benni forsthaus templin
Fotostory benni forsthaus templinFotostory benni forsthaus templin
Fotostory benni forsthaus templin
 
02 show vorbereiten
02 show vorbereiten02 show vorbereiten
02 show vorbereiten
 
TEORÍA DIALÓGICA DE LA EDUCACIÓN
TEORÍA DIALÓGICA DE LA EDUCACIÓNTEORÍA DIALÓGICA DE LA EDUCACIÓN
TEORÍA DIALÓGICA DE LA EDUCACIÓN
 
Medio tic uno
Medio tic unoMedio tic uno
Medio tic uno
 
Serie "A" TIM
Serie "A" TIMSerie "A" TIM
Serie "A" TIM
 
Tarea diapoitivas tics
Tarea diapoitivas ticsTarea diapoitivas tics
Tarea diapoitivas tics
 
El arte de la mditacion matthieu ricard
El arte de la mditacion matthieu ricardEl arte de la mditacion matthieu ricard
El arte de la mditacion matthieu ricard
 

Similaire à Programación: Definición y Ciclo de Vida

Similaire à Programación: Definición y Ciclo de Vida (20)

presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
Programcion
ProgramcionProgramcion
Programcion
 
Programación
ProgramaciónProgramación
Programación
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
Programacion
ProgramacionProgramacion
Programacion
 
Fases del proceso de programación
Fases del proceso de programaciónFases del proceso de programación
Fases del proceso de programación
 
Aplicación
AplicaciónAplicación
Aplicación
 
El software 2
El software 2El software 2
El software 2
 
Edwin merma 5 c
Edwin merma 5 cEdwin merma 5 c
Edwin merma 5 c
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 
Tema vi
Tema viTema vi
Tema vi
 

Dernier

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Dernier (20)

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Programación: Definición y Ciclo de Vida

  • 1.
  • 2. La programación informática, acortada como programación, es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones. Del proceso de programación surge lo que comúnmente se conoce como software (conjunto de programas), aunque estrictamente este último abarca mucho más que sólo la programación.
  • 3. Historia Para crear un programa, y que la computadora lo intérprete y ejecute las instrucciones escritas en él, debe usarse un lenguaje de programación. En sus inicios las computadoras interpretaban sólo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho sólo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar).
  • 4. Programas y algoritmos Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) uno o más algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma gráfica, como un diagrama de flujo, en forma de código como en pseudocódigo o un lenguaje de programación, en forma explicativa, etc. Los programas suelen subdividirse en partes menores, llamadas módulos, de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una práctica muy utilizada y se conoce como "refino progresivo". Según Niklaus Wirth, un programa está formado por los algoritmos y la estructura de datos. Se han propuesto diversas técnicas de programación cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes: programación declarativa programación estructurada programación modular programación orientada a objetos
  • 5. Ciclo de vida del software Artículo principal: Proceso para el desarrollo de software El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final, incluyendo su estado funcional. El propósito es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura que los métodos utilizados son apropiados. Estos métodos se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación (programación propiamente dicha), o peor aun, durante la fase funcional. El modelo de ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados. El ciclo de vida básico de un software consta de, al menos, los siguientes procedimientos: Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. Diseño general: requisitos generales de la arquitectura de la aplicación. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. Programación (programación e implementación): es la implementación en un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. Integración: para garantizar que los diferentes módulos y subprogramas se integren con la aplicación. Éste es el propósito de la prueba de integración que debe estar cuidadosamente documentada. Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales. Documentación: se documenta con toda la información necesaria, sea funcional final para los usuarios del software (manual del usuario), y de desarrollo para futuras adaptaciones, ampliaciones y correcciones. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).