Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TALLER #2
PROYECTO
Estándar para los procesos de ciclo de vida del software de la organización, el estándar indica una
serie de procesos desde la recopilación de requisitos hasta la culminación del software.
Principales
De apoyo
De organización
Este estándar agrupa las actividades que se pueden llevar a cabo durante el ciclo de vida del
software en cinco procesos principales, ocho procesos de apoyo y cuatro procesos organizativos
1
Yenny Paola Ladino Camacho
2. Por medio del software Terminal Punto de Venta (TPV) de gestión de negocios se
verifica aplicaciones https://solvermedia.com/
TPV significa “Terminal Punto de Venta”, y el Software TPV es el sistema que utilizan tiendas,
supermercados, restaurantes, etc… para realizar las ventas.
El Software TPV gira en torno a su objetivo principal, gestionar y procesar las ventas. Sin embargo,
el software para el Punto de Venta con el paso del tiempo y debido a las inquietudes de los
empresarios y usuarios de tener un control total sobre el negocio, va mucho más allá.
Los sistemas TPV profesionales, pueden gestionar stock, inventario, proveedores, clientes,
análisis, informes de ventas por productos; por familias; por vendedor, administración de
empleados, trazabilidad, centralización de varios puntos de venta o restaurantes. El software TPV
registra cada venta en el momento en la que se realiza, por lo que su inventario está siempre
actualizado, esto le permite, obtener mucha más información acerca de la venta de la que se
puede reunir con un sistema manual o no profesional. Al ejecutar informes basados en esta
información, puede tomar mejores decisiones sobre pedidos y comercialización.
Hardware: Esta parte es la configuración física del sistema TPV, esta configuración puede variar
dependiendo del sector al que nos dediquemos. Normalmente se trata de uno o varios Terminales
TPV conectados entre sí, donde se instala el software de gestión y al que se le conectan diferentes
periféricos según nuestras necesidades, tales como: Impresoras de Tickets, Cajones
Portamonedas, Lectores de Códigos de Barra, Impresoras de Etiquetas, Visores de Precio,
Balanzas solo peso o autónomas, sistemas de cobro inteligente o en el caso de restaurantes:
Tablets y Comanderos Electrónicos, Impresoras de Cocina o Monitores de Cocina.
Software: El hardware en conjunto con el software TPV almacenan toda la información de nuestro
negocio y la administra dentro de una base de datos.
2
Yenny Paola Ladino Camacho
2.2 Instale uno solo del software que funciona como de Peluquería, Restaurante
entre otros y realice un estudio detallado de funcionalidad del producto.
Instalación
3
Yenny Paola Ladino Camacho
Estudio funcionalidad
Como se puede detallar, ofrece los diferentes servicios que un petshop puede ofrecer, y manejar
internamente. El TPV de mascotas maneja el mantenimiento del software como lo es el manejo de
la base de datos, la caja que implica todo el proceso de venta de los productos que el petshop
ofrece, la agenda para pedir cita previamente, los bonos a los que accede un empleado por las
ventas realizadas, el stock donde se almacena todo el inventario del petshop, los clientes con
deuda, los listados de caja y ventas, las estadísticas de venta y consumo, las comisiones de los
empleados, la configuración tanto de la empresa, la facturacion y la base de datos; Los niveles de
acceso de los empleados, el acerca de de la aplicación, la implementación del envió de mensajes
tanto al correo como vía SMS a los clientes, y el control de horario de funcionamiento.
Dentro de cada sección hay subsecciones(modulos – submodulos) como por ejemplo el caso del
modulo mantenimiento, donde tiene a los clientes, los empleados, los producto, el servidor, los
proveedores, las secciones del petshop y las formas de pago.
4
Yenny Paola Ladino Camacho
Lenguaje que entiende directamente la computadora, por lo tanto, se utiliza solo 0 y 1. Las
instrucciones son ejercidas directamente al hardware, es necesario conocer las características de
los componentes. Podemos clasificar este nivel en dos tipos:
Es necesario utilizar un compilador para interpretar las instrucciones del programador, el lenguaje
no es cercano al humano.
Son lenguajes que permiten una mayor abstracción, pero manteniendo algunas características del
lenguaje de bajo nivel. El código es enviado a un compilador que lo convierte al lenguaje máquina.
Debido a sus características, estos lenguajes se pueden situar entre los de bajo nivel y alto nivel,
aunque no es muy aceptado.
Es más cercano al lenguaje humano, manejando conceptos, tipos de datos, etc. sin importar la
computadora. Es indispensable utilizar un intérprete o compilador que traduzca las instrucciones al
lenguaje máquina. Son lenguajes independientes de una computadora, puedes migrar tu código a
otro y seguir trabajando sin problemas.
Ventajas:
PROYECTO
5
Yenny Paola Ladino Camacho
El Explorador de pruebas de Visual Studio puede ejecutar pruebas de cualquier marco de pruebas
unitarias que haya desarrollado una interfaz de adaptador para él. El programa instalación del
marco copia los archivos binarios y agrega plantillas del proyecto de Visual Studio para los idiomas
que admite. Cuando crea un proyecto con la plantilla, el marco se registra en el Explorador de
pruebas. Una solución de Visual Studio puede contener proyectos de prueba unitaria que usen
diferentes marcos y que estén destinados a diferentes idiomas.
En .NET, MSTest, NUnit y xUnit son los marcos de pruebas proporcionados por Visual Studio que
se instalan de forma predeterminada.
6
Yenny Paola Ladino Camacho
5. Dentro los dos Métodos para la revisión del código (las revisiones formales o
informales) identifíquelas y realice un ejemplo para su manejo del proyecto.
Detecta errores
Verifica trabajo
Focalización en sobre si si o no el producto cubre los requerimientos
Decisiones consensuadas
El responsable es un moderador entrenado
Pares con asistencia registrada
Detecta errores
Discute alternativas de solución
Focalización a demostrar que el producto cubre los requerimientos
Decisiones del autor
Pares y responsables técnicos sin registrar
7
Yenny Paola Ladino Camacho
6. En las actividades de las revisiones informales existen 4 importantes las cuales son:
(Circulación de Código, Programación por parejas, Uso de herramientas de revisión
y revisiones por encima de hombro), lo cual deberán realizar la definición de cada
una y el ejemplo de las mismas.
REVISIONES INFORMALES
ACTIVIDAD DEFINICION EJEMPLO
Circulación de Circulación del código mediante correo electrónico, Uso de los
código para el acceso a él de forma remota. repositorios(GitHub)
El conductor escribe el
Trabajar en el mismo equipo dos programadores código
Programación de forma conjunta. Uno de ellos es el conductor, El supervisor observa la
por parejas mientras que el otro supervisa. codificación y
Ambos programadores van alternando estos roles proporciona información
en tiempo real
Un proceso de revisión de códigos asistido por
herramientas implica el uso de una herramienta
especializada para facilitar el proceso de revisión
de código, ayudando con: Review board
Uso de
Organizar y mostrar los archivos GitHub
herramientas
actualizados en un cambio. CodeScene
de revisión
Facilitar una conversación entre revisores y Visual expert
desarrolladores.
Evaluar la eficacia del proceso de revisión
del código con métricas.
Revisiones de código en la estación de trabajo del
Revisiones por
desarrollador, donde un miembro experimentado
encima del
del equipo revisa el nuevo código, proporcionando
hombro
sugerencias.
Tabla 1. Revisiones informales
8
Yenny Paola Ladino Camacho
El profiling se puede llevar a cabo en el código fuente o sobre un binario ejecutable mediante una
herramienta llamada profiler.
Los profilers pueden clasificarse según la forma de recopilación de datos que utilicen, pudiendo
destacar: basados en eventos, estadísticos, con instrumentación de código y como simulación
Los profilers utilizan una amplia variedad de técnicas para recopilar datos, incluyendo:
interrupciones por hardware, instrumentación de código, simulador de conjunto de instrucciones,
hooking y contadores de rendimiento de hardware. El profiling es la técnica más usada dentro de la
ingeniería de rendimiento.
La salida que puede generar un profiler depende del mismo, generalmente son las siguientes:
9
Yenny Paola Ladino Camacho
Los profilers, que también son propios programas, analizar programas específicos mediante la
recopilación de información sobre su ejecución. Basado en su granularidad de datos, la forma en
que los profilers recopilan información, se clasifican en profilers basados en eventos o estadísticos.
Ya que los profilers interrumpen la ejecución del programa para recopilar información, tienen una
resolución finita en las mediciones de tiempo, los cuales se deben tomar como un subconjunto del
total de información.
Los lenguajes de programación que se listan a continuación poseen un profiler basado en eventos:
PROFILERS ESTADÍSTICOS
Algunos profilers operan por muestreo. un profiler por muestreo prueba el "Program counter" del
programa objetivo a intervalos regulares usando interrupciones del sistema operativo. Los profilers
de muestreo son típicamente menos exactos numéricamente y específicos, pero permiten que el
programa de destino funcione cerca de la velocidad máxima.
PROFILERS INSTRUMENTADORES
Algunos profilers "instrumentan" el programa objetivo con instrucciones adicionales para recopilar
la información necesaria.
Instrumentar el programa puede causar cambios en el rendimiento del programa, que pueden
causar resultados inexactos y heisenbugs. Instrumentar siempre tendrá algún impacto en la
ejecución del programa, por lo general siempre es más lento. Sin embargo, la instrumentación
puede ser muy específica y ser controlada cuidadosamente para tener un impacto mínimo. El
impacto sobre un programa en particular depende de la colocación de puntos de instrumentación y
el mecanismo que se utiliza para capturar la traza. El soporte de hardware para capturar la traza
significa que en algunos objetivos, la instrumentación puede tener sólo una instrucción de máquina.
El impacto de la instrumentación a menudo se puede deducir (es decir, eliminada por sustracción)
a partir de los resultados.
10
Yenny Paola Ladino Camacho
INSTRUMENTACIÓN
Manual
Automática a nivel de código
Asistida por el compilador
Translación binaria
Instrumentación en tiempo de ejecución
Inyección en tiempo de ejecución
Interpretador de instrumentación
HIPERVISOR/SIMULADOR
Hipervisor: Los datos se recogen mediante la ejecución del programa (por lo general) no
modificada bajo un hipervisor. Por ejemplo SIMMON.
Simulador y Hipervisor: Los datos son recogidos de forma interactiva y selectiva mediante
la ejecución del programa sin modificar en el marco de un simulador de conjunto de
instrucciones. Por ejemplo IBM OLIVER y SIMON
11
Yenny Paola Ladino Camacho
PROYECTO
12
Yenny Paola Ladino Camacho
13
Yenny Paola Ladino Camacho
DAVID AGANS
Dave Agans recibió un BSEE del MIT en 1976 (con especialización en escritura creativa, incluida
una clase con AR Gurney). Durante sus 25 años de carrera en los negocios, se ha ganado la
reputación de ser un orador entretenido en seminarios y creativo "redactor de palabras", y ha
escrito un libro popular y divertido sobre depuración (Debugging, Amacom Books)
Su interés por el teatro se afianzó firmemente después de convertir algunas canciones de broma
en un musical de larga duración para la celebración del aniversario de una empresa.
En 1997, su primer musical Robot Trouble (como "Robots") fue producido por el Gremio de Teatro
Musical del MIT para un público entusiasta, y de hecho ganó dinero. Actualmente está
desarrollando "Where the Heart Is", un musical sobre la construcción de casas y el matrimonio.
Libro Debugging en el cual explica las reglas de batalla para rastrear y eliminar errores de
hardware y software. Explica que cuando se ejerce la presión para erradicar un error elusivo de
software o hardware, lo que se necesita es una cortesía de la cabeza fría de un conjunto de reglas
garantizadas para funcionar en cualquier sistema, en cualquier circunstancia. Esta escrito en un
estilo franco pero atractivo, Debugging proporciona principios simples e infalibles garantizados para
ayudar a encontrar cualquier error rápidamente. Este libro hace obsoletos los estantes de libros de
depuración específicos de aplicaciones (en C ++, Perl, Java, etc.). Cambia la forma en que los
lectores piensan sobre la depuración, haciendo que esos molestos problemas de repente sean
mucho más fáciles de encontrar y solucionar. Ilustrando las reglas con historias de guerra de
detección de errores de la vida real, el libro muestra a los lectores cómo entender el sistema, cómo
percibir la "hoja de ruta" que puede acelerar su viaje, cuando no se puede evitar la investigación
práctica, como aislar los factores críticos: por qué cambiar un elemento a la vez puede ser una
herramienta esencial, mantener un registro de auditoría: cómo mantener un el registro del proceso
de depuración puede ganar el día.
14
Yenny Paola Ladino Camacho
1. Comprender el sistema
En primer lugar, debe comprender el sistema. Esta es posiblemente la parte más difícil y
probablemente la razón por la que la depuración es tan difícil y onerosa para la mayoría de
nosotros. Hay tantos sistemas y tantas complejidades que los rodean, que realmente no sabemos
cómo hacen lo que hacen. No obstante, cuando se enfrenta a un error inexplicable, es hora de
romper las especificaciones y leerlas con ojos nuevos. No asuma que sabe cómo funciona el
sistema, realmente lo sabe. Dibujarlo en una pizarra. Pon a prueba tus suposiciones con algunas
pruebas unitarias y tal vez con un pico rápido.
Dos palabras: " pasos de reproducción ". Si no puedes hacer que falle y reproducir el error, estás
lanzando dardos en la oscuridad.
Puede cerrar los ojos, recostarse en la silla y pensar en posibles fuentes del error durante todo el
día. Quizás una de esas ideas sea correcta. Pero no lo sabrá realmente hasta que deje de pensar
y comience a explorar. Saque su proverbial palo y comience a hurgar en el sistema. Mira qué se
rompe, quién grita.
4. Dividir y conquistar
Comience a eliminar las posibles fuentes del error, idealmente a través de un algoritmo de
búsqueda binaria. Elimine la mitad del sistema como candidato a albergar errores. Luego elimine la
siguiente mitad, y la siguiente mitad, hasta que el insecto lo mire tímidamente con su espeluznante
cola de insecto entre sus patas.
No cambie un millón de cosas a la vez. Cambie una variable y vuelva a probar. ¿Cambió algo?
Vuelva a colocarlo como lo encontró; prueba otro. Este método sistemático parece tedioso, pero a
menudo ahorra tiempo a largo plazo.
Anote todo lo que ha intentado en busca del error. Esto le ayudará a evitar que intente lo mismo
dos veces, especialmente en sesiones de depuración prolongadas, y también le servirá como un
15
Yenny Paola Ladino Camacho
buen registro de depuración en caso de que tenga que entregarle su sombrero de caza de errores
a otra persona.
7. Verifique el enchufe
A veces, los errores más alucinantes se remontan a las causas más simples: alguien desconectó el
cable. No des nada por sentado. Siga su camino hacia arriba en la pila de tecnología, desde el
cable humilde hasta la abstracción de nivel 7 más alto. ¿Dónde se están rompiendo las cosas?
Llevas horas golpeándote la cabeza con el teclado mientras el bicho simplemente te señala con su
elegante bastón y se ríe irónicamente, luego inclina su sombrero de copa burlonamente. Estás
frustrado, con los ojos nublados, viendo cosas que realmente no están ahí. Es hora de alejarse de
la computadora. Dar un paseo. Habla con un amigo. Describa el problema, póngalo en la pizarra.
Tal vez hablar sobre el problema desencadene algo nuevo para probar, o su amigo captará algo
que se perdió.
9. Si no lo arregló, no lo está
¡Oye, mira, el error desapareció misteriosamente! Eso es genial, ahora puedo volver a trabajar.
Bueno ... Todos hemos estado allí. Por lo general, el error vuelve, cuando menos lo espera, y en
un momento terrible. Si no lo arreglaste, no lo arreglaste.
Comprender el sistema
Haz que falle
Cambie una cosa a la vez
Mantenga un registro de auditoría
Obtenga una vista nueva
Si no lo arregló, no lo está
16
Yenny Paola Ladino Camacho
10. Por medio de la Depuración del Software (Puntos de ruptura, Centinelas, Ejecución paso
a paso, Seguimiento de ejecución y comparaciones de escritorio) Identifíquelos y realice un
ejemplo o caso en su utilización.
PUNTOS DE RUPTURA
CENTINELAS
Debe haber algún valor que no sea un elemento válido Secuencias numéricas: Si se permite
cualquier número, no hay centinela posible Cadenas de caracteres: Caracteres especiales (no
imprimibles). En realidad el valor centinela es parte de la secuencia, pero su significado es especial
y no se procesa como el resto Significa que se ha alcanzado el final de la secuencia (Incluso aunque
haya elementos posteriores)
Por lo tanto, el desarrollo de un programa siempre incorpora una etapa de depuración (debugging),
que consiste en buscar y resolver los errores cometidos durante la programación. Para facilitar la
etapa de depuración es conveniente usar herramientas especializadas para estos efectos. La más
común es el depurador o también llamado debugger.
El depurador:
Un depurador es una herramienta que permite intervenir durante la ejecución de un programa, para
saber cómo se está ejecutando. El depurador permite:
17
Yenny Paola Ladino Camacho
18
Yenny Paola Ladino Camacho
REFERENCIAS
https://fernandoarciniega.com/normas-y-estandares-de-calidad-para-el-desarrollo-de-software/
https://www.comercialtpv.com/blog/2018/05/28/la-importancia-del-software-tpv-
negocio/#:~:text=%C2%BFQu%C3%A9%20es%20el%20Software%20TPV,gestionar%20y%20pro
cesar%20las%20ventas.
https://www.solvermedia.com/software-tpv-para-peluqueria-de-mascotas.html
https://www.kyocode.com/2018/09/niveles-de-lenguajes-de-programacion/
https://docs.microsoft.com/es-es/visualstudio/test/install-third-party-unit-test-frameworks?view=vs-
2019
http://testingmexico.blogspot.com/2016/04/revisiones-formales-vs-informales.html
https://kinsta.com/es/blog/herramientas-de-revision-de-codigo/#7-visual-expert
https://repository.poligran.edu.co/bitstream/handle/10823/689/ANALISIS%20DE%20LA%20TECNI
CA.......pdf?sequence=1&isAllowed=y
https://www.amazon.es/Debugging-David-J-Agans-ebook/dp/B002H5GSZ2
https://www.tygertec.com/9-rules-debugging/
https://es.wikipedia.org/wiki/An%C3%A1lisis_de_rendimiento_de_software
https://users.dcc.uchile.cl/~lmateu/CC10A/Apuntes/debug/index.html
https://es.wikipedia.org/wiki/Depuraci%C3%B3n_de_programas#:~:text=La%20depuraci%C3%B3n
%20de%20programas%20es,a%20los%20errores%20de%20programaci%C3%B3n.
19