SlideShare una empresa de Scribd logo
1 de 24
Ingeniería de Software Unidad II Escribiendo los programas Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
Introducción ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estándares de programación y procedimientos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estándares de programación y procedimientos ,[object Object],[object Object],[object Object],[object Object]
Estándares de programación y procedimientos ,[object Object],[object Object],[object Object],[object Object]
Pautas para la programación ,[object Object],[object Object],[object Object],[object Object]
Pautas para la programación Estructuras de Control ,[object Object],beneficio = mínimo; if (año < 75 ) goto A; beneficio = máximo; goto C; If ( año < 65 ) goto B; If ( año < 55 ) goto C; A: if ( año < 65 ) goto B; beneficio = beneficio * 1.5 + bono; goto C; B: if ( año < 55) goto C; beneficio = beneficio * 1.5; C: siguiente paso if ( año < 55 ){ beneficio = mínimo; } else { if ( año < 65 ){ beneficio = mínimo + bono; } else { if ( año < 75 ){ beneficio = mínimo * 1.5 + bono; } else { beneficio = máximo; } } }
[object Object],[object Object],[object Object],Pautas para la programación Estructuras de Control
[object Object],[object Object],[object Object],Pautas para la programación Algoritmos
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Pautas para la programación Algoritmos
Pautas para la programación Estructuras de Datos Al escribir programas, se debería  fijar el formato y almacenar datos de modo que la gestión y manipulación de datos sea directa. Existen varias técnicas que utilizan las estructuras de datos para indicar como debería organizarse el programa. Mantener la simplicidad del programa El diseño del programa puede especificar alguna de las estructuras de datos a utilizar en la implementación de las funciones. Por lo general se escogen porque promueven el ocultamiento de información y manejo de interfaz. La manipulación de información que tiene lugar dentro de un componente puede influir en la selección de la estructura de datos.
Pautas para la programación Estructuras de Datos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pautas para la programación Estructuras de Datos Mantener la simplicidad del programa - Ejemplo imp = 0; If ( imponible == 0) exit(0); If (imponible > 10000) imp = imp + 1000;  Esle { imp = imp + 0.10 * imponible; exit(0); } If ( imponible > 20000) imp = imp + 1200; Else { imp = imp + 0.12 * (imponible – 10000); exit(0);} If (imponible > 30000) imp = imp +1500; Else { imp = imp + 0.15 * (imponible -20000); exit(0);} If (imponible < 40000){ imp = imp + 0.18 * (imponible -30000); exit (0); } else imp = imp + 1800 + 0.20 * (imponible – 40000);   Mejorando con estructuras de datos el código anterior. Considerando: for (int i = 1, level =0; i <= 5; i++){ if (imponible > franja [i]){ level = level +1;  } } Imp = base[level] + porcentaje [level] * (imponible – franja [level]);   20 5500 40000 18 3700 30000 15 2200 20000 12 1000 10000 10 0 0 Porcentaje Base Franja
Pautas para la programación Estructuras de Datos Determinar una estructura de programa utilizando una estructura de datos. En general, las estructuras de datos pueden influir en la organización y flujo de un programa. En algunos casos, las estructuras incluso pueden influir en la selección del lenguaje. Ejemplo: LISP:  lenguaje preparado para operar con un procesador de listas. Contiene estructuras que lo hacen más atractivo para el trabajo con listas. ADA y EIFFEL:  contienen estructuras apropiadas para el manejo de excepciones. En general, es conveniente considerar cuidadosamente las estructuras de datos, en el momento de decidir qué lenguaje se usará para la implementación del diseño.
Pautas para la programación Pautas Generales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pautas para la programación Pautas Generales ,[object Object],[object Object],[object Object],[object Object],[object Object]
Pautas para la programación Pautas Generales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Documentación Se considera como documentación del programa al conjunto de descripciones escritas que explican al lector qué hace el programa y cómo lo hace. La documentación interna es el material descriptivo, escrito directamente dentro del código, y cualquier otra documentación es externo. Documentación interna Información dirigida a quienes leerán el código fuente del programa. Se incluye información sumaria para identificar el programa y describir el algoritmos, estructuras de datos y flujo de control. Usualmente esta información se ubica al comienzo de cada componente en un conjunto de comentarios que se denomina bloque de encabezamiento.
Documentación Documentación interna ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Documentación Documentación interna ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Documentación Documentación interna Nombres de variables y etiquetas con significado Seleccionar nombres de variables y enunciados que reflejen su utilización o significado. Dar formato para mejorar la comprensión Mediante indentado y espaciado se puede reflejar la estructura básica del sistema. Weinberg (1971) recomienda un formato para las sentencias donde los comentarios aparezcan en uno de los lados de la pagina y la sentencia en el otro. int i =0; If ( i++ == 0) {  //comentario 1 acción;  //comentario 2 }
Documentación Documentación externa Está documentación se prepara para ser leída incluso por quienes tal vez nunca verán el código real. Este documento explica de forma más amplia el código que los comentarios. Descripción del sistema Se debe tratar el problema tratado por el componente. No como una replica de la especificación de requerimientos, sino que es una discusión general de la situación, explicando cuando se invoca el componente y por qué se lo necesita. Descripción de los algoritmos   Deben explicarse todos los algoritmos utilizados en el componente, incluyendo formulas, condiciones especiales o de límite, e inclusive su derivación, o bien la referencia al libro o articulo del cuál se ha extraido.
Documentación Documentación externa Descripción de los datos Los diagramas de flujo de datos deben ir acompañados por las referencias relevantes del diccionario de datos. Para los componentes de precedencia orientada a objetos, la vista general de objetos y clases debe explicar la interacción general entre los objetos.
Bibliografía ,[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UMLkcastro388
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de softwareYaskelly Yedra
 
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)ricrichardr
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de SoftwareUacm Lis Slt
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwarecoldclean
 
Herramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareHerramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareTe Amo Gabriel
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacionbrayan_2012
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasSergio Sanchez
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremarianela0393
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de softwaremireya2022
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesosEIYSC
 
Herramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareHerramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareCristina1139
 
Soluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadSoluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadJuan Pablo Bustos Thames
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinezWiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinezJhon Rincon
 

La actualidad más candente (20)

MODELADO RUP UML
MODELADO RUP UMLMODELADO RUP UML
MODELADO RUP UML
 
Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
UML. un analisis comparativo para la diagramación de software
UML.  un analisis comparativo para la diagramación de softwareUML.  un analisis comparativo para la diagramación de software
UML. un analisis comparativo para la diagramación de software
 
Estructura de casos de uso
Estructura de casos de usoEstructura de casos de uso
Estructura de casos de uso
 
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)
Diseno orientado-a-objetos-con-uml-raul-alarcon-grupo-eidos (1)
 
Ingeniería de Software
Ingeniería de SoftwareIngeniería de Software
Ingeniería de Software
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Modelo cocomo
Modelo cocomoModelo cocomo
Modelo cocomo
 
Herramientas de Desarrollo de Software
Herramientas de Desarrollo de SoftwareHerramientas de Desarrollo de Software
Herramientas de Desarrollo de Software
 
Fases de programacion
Fases de programacionFases de programacion
Fases de programacion
 
Unidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De SistemasUnidad 3.1 Prueba De Sistemas
Unidad 3.1 Prueba De Sistemas
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Tipos de modelos de procesos
Tipos de modelos de procesosTipos de modelos de procesos
Tipos de modelos de procesos
 
Herramientas y Desarrollo de Software
Herramientas y Desarrollo de SoftwareHerramientas y Desarrollo de Software
Herramientas y Desarrollo de Software
 
Clase
ClaseClase
Clase
 
Diagrama hipo
Diagrama hipoDiagrama hipo
Diagrama hipo
 
Soluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidadSoluciones con objetos y patrones. visibilidad
Soluciones con objetos y patrones. visibilidad
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinezWiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
Wiki glosario tecnico_ingles_jhon_jairorincon_jimmyalbertomartinez
 

Destacado

Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNSergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del SistemaSergio Sanchez
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareSergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNSergio Sanchez
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióNSergio Sanchez
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoSergio Sanchez
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasSergio Sanchez
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosSergio Sanchez
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNSergio Sanchez
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Sergio Sanchez
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo ConceptualSergio Sanchez
 

Destacado (20)

Unidad 6 Lenguaje Sql
Unidad 6 Lenguaje SqlUnidad 6 Lenguaje Sql
Unidad 6 Lenguaje Sql
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del SistemaUnidad 6 Mad Modelado Analsis    Diagrama De Secuencia Del Sistema
Unidad 6 Mad Modelado Analsis Diagrama De Secuencia Del Sistema
 
Unidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De SoftwareUnidad 1.1 Que Es La Ing. De Software
Unidad 1.1 Que Es La Ing. De Software
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 
Unidad 5 TransformacióN Er A Relacional NormalizacióN
Unidad 5 TransformacióN Er A Relacional   NormalizacióNUnidad 5 TransformacióN Er A Relacional   NormalizacióN
Unidad 5 TransformacióN Er A Relacional NormalizacióN
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Unidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De UsoUnidad 4 Mad Modelado Analisis Casos De Uso
Unidad 4 Mad Modelado Analisis Casos De Uso
 
Unidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De SistemasUnidad 2.1 DiseñO De Sistemas
Unidad 2.1 DiseñO De Sistemas
 
Unidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De DatosUnidad 1 IntroduccióN A Las Bases De Datos
Unidad 1 IntroduccióN A Las Bases De Datos
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
Unidad 5 Mad Modelado Analisis Modelo Conceptual
Unidad 5 Mad Modelado Analisis   Modelo ConceptualUnidad 5 Mad Modelado Analisis   Modelo Conceptual
Unidad 5 Mad Modelado Analisis Modelo Conceptual
 
I N G S O F T W A R E
I N G  S O F T W A R EI N G  S O F T W A R E
I N G S O F T W A R E
 
Norma tecnica peruana
Norma tecnica peruanaNorma tecnica peruana
Norma tecnica peruana
 
Ing del Software part1
Ing del Software part1Ing del Software part1
Ing del Software part1
 

Similar a Unidad 2.2 Escribiendo El Programa

Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoJesús E. CuRias
 
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).pptxDavidGarca147527
 
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosAplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosJesus Molina
 
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosAplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosJesus Molina
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoJesus Molina
 
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...Jesus Molina
 
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoTaller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoJOSSELINEMARIBEL
 
Programación
ProgramaciónProgramación
ProgramaciónGraceelml
 
5 aissexposicion1grupo4
5 aissexposicion1grupo45 aissexposicion1grupo4
5 aissexposicion1grupo4Any Álvarez
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
informatica
informaticainformatica
informaticayoanatec
 

Similar a Unidad 2.2 Escribiendo El Programa (20)

Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Niveles de optimizacion de algoritmos
Niveles de optimizacion de algoritmosNiveles de optimizacion de algoritmos
Niveles de optimizacion de algoritmos
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Diseño a Nivel de Componentes
Diseño a Nivel de ComponentesDiseño a Nivel de Componentes
Diseño a Nivel de Componentes
 
Fases
FasesFases
Fases
 
Fases
FasesFases
Fases
 
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
 
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosAplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
 
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de AlgoritmosAplicaciones de Estándares de calidad en la construcción de Algoritmos
Aplicaciones de Estándares de calidad en la construcción de Algoritmos
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmo
 
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...
Aplicaciones de Estándares de calidad de Algoritmos Aplicaciones de Estándare...
 
ingenieria del software
ingenieria del softwareingenieria del software
ingenieria del software
 
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertidoTaller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
 
Cocomo 1
Cocomo 1Cocomo 1
Cocomo 1
 
COCOMO
COCOMOCOCOMO
COCOMO
 
Programación
ProgramaciónProgramación
Programación
 
5 aissexposicion1grupo4
5 aissexposicion1grupo45 aissexposicion1grupo4
5 aissexposicion1grupo4
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
informatica
informaticainformatica
informatica
 

Más de Sergio Sanchez

Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De DatosSergio Sanchez
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1Sergio Sanchez
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOSergio Sanchez
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioSergio Sanchez
 
Melado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UMLMelado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UMLSergio Sanchez
 

Más de Sergio Sanchez (6)

Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Unidad 1.2 B Metodos Agiles 1
Unidad 1.2 B Metodos Agiles  1Unidad 1.2 B Metodos Agiles  1
Unidad 1.2 B Metodos Agiles 1
 
Unidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñOUnidad 9 Patrones De DiseñO
Unidad 9 Patrones De DiseñO
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Melado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UMLMelado de Proceso de Negocios con UML
Melado de Proceso de Negocios con UML
 

Unidad 2.2 Escribiendo El Programa

  • 1. Ingeniería de Software Unidad II Escribiendo los programas Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Pautas para la programación Estructuras de Datos Al escribir programas, se debería fijar el formato y almacenar datos de modo que la gestión y manipulación de datos sea directa. Existen varias técnicas que utilizan las estructuras de datos para indicar como debería organizarse el programa. Mantener la simplicidad del programa El diseño del programa puede especificar alguna de las estructuras de datos a utilizar en la implementación de las funciones. Por lo general se escogen porque promueven el ocultamiento de información y manejo de interfaz. La manipulación de información que tiene lugar dentro de un componente puede influir en la selección de la estructura de datos.
  • 12.
  • 13. Pautas para la programación Estructuras de Datos Mantener la simplicidad del programa - Ejemplo imp = 0; If ( imponible == 0) exit(0); If (imponible > 10000) imp = imp + 1000; Esle { imp = imp + 0.10 * imponible; exit(0); } If ( imponible > 20000) imp = imp + 1200; Else { imp = imp + 0.12 * (imponible – 10000); exit(0);} If (imponible > 30000) imp = imp +1500; Else { imp = imp + 0.15 * (imponible -20000); exit(0);} If (imponible < 40000){ imp = imp + 0.18 * (imponible -30000); exit (0); } else imp = imp + 1800 + 0.20 * (imponible – 40000); Mejorando con estructuras de datos el código anterior. Considerando: for (int i = 1, level =0; i <= 5; i++){ if (imponible > franja [i]){ level = level +1; } } Imp = base[level] + porcentaje [level] * (imponible – franja [level]); 20 5500 40000 18 3700 30000 15 2200 20000 12 1000 10000 10 0 0 Porcentaje Base Franja
  • 14. Pautas para la programación Estructuras de Datos Determinar una estructura de programa utilizando una estructura de datos. En general, las estructuras de datos pueden influir en la organización y flujo de un programa. En algunos casos, las estructuras incluso pueden influir en la selección del lenguaje. Ejemplo: LISP: lenguaje preparado para operar con un procesador de listas. Contiene estructuras que lo hacen más atractivo para el trabajo con listas. ADA y EIFFEL: contienen estructuras apropiadas para el manejo de excepciones. En general, es conveniente considerar cuidadosamente las estructuras de datos, en el momento de decidir qué lenguaje se usará para la implementación del diseño.
  • 15.
  • 16.
  • 17.
  • 18. Documentación Se considera como documentación del programa al conjunto de descripciones escritas que explican al lector qué hace el programa y cómo lo hace. La documentación interna es el material descriptivo, escrito directamente dentro del código, y cualquier otra documentación es externo. Documentación interna Información dirigida a quienes leerán el código fuente del programa. Se incluye información sumaria para identificar el programa y describir el algoritmos, estructuras de datos y flujo de control. Usualmente esta información se ubica al comienzo de cada componente en un conjunto de comentarios que se denomina bloque de encabezamiento.
  • 19.
  • 20.
  • 21. Documentación Documentación interna Nombres de variables y etiquetas con significado Seleccionar nombres de variables y enunciados que reflejen su utilización o significado. Dar formato para mejorar la comprensión Mediante indentado y espaciado se puede reflejar la estructura básica del sistema. Weinberg (1971) recomienda un formato para las sentencias donde los comentarios aparezcan en uno de los lados de la pagina y la sentencia en el otro. int i =0; If ( i++ == 0) { //comentario 1 acción; //comentario 2 }
  • 22. Documentación Documentación externa Está documentación se prepara para ser leída incluso por quienes tal vez nunca verán el código real. Este documento explica de forma más amplia el código que los comentarios. Descripción del sistema Se debe tratar el problema tratado por el componente. No como una replica de la especificación de requerimientos, sino que es una discusión general de la situación, explicando cuando se invoca el componente y por qué se lo necesita. Descripción de los algoritmos Deben explicarse todos los algoritmos utilizados en el componente, incluyendo formulas, condiciones especiales o de límite, e inclusive su derivación, o bien la referencia al libro o articulo del cuál se ha extraido.
  • 23. Documentación Documentación externa Descripción de los datos Los diagramas de flujo de datos deben ir acompañados por las referencias relevantes del diccionario de datos. Para los componentes de precedencia orientada a objetos, la vista general de objetos y clases debe explicar la interacción general entre los objetos.
  • 24.