martes, 23 de junio de 2015

Costo Altas y consultas Conexión a Base de datos

Costo Altas y consultas  Conexión a Base de datos

En este caso yo soy un programador de una empresa en la que por trabajar 8 horas diaria me pagan 
7000 pesos mensuales

Y un cliente de la empresa solicita unas altas y consultas con JSP para el cual la empresa me pide 

realizar el programa, la empresa para la que trabajo cobra 20 dólares la hora de programador,

Yo, me tardo para ese programa aproximadamente 2 horas

2 horas = 40 dólares   tipo de cambio 15.60 pesos

640 pesos va a cobrarle mi empresa al cliente para el programa

Ahora  7000 pesos al mes /  20 días de trabajo = 350 pesos diarios

/ 8 horas diarias = 43.75 pesos por hora, cobro yo.


Así que para ese programa de dos horas me van a pagar 87.50 pesos de los 640 que cobra la empresa

640 –  87.50 = 552.50 pesos de ganancia por parte de la empresa, descontento mi sueldo por el programa.



EJERCICIO Libro de 100 paginas (tiempo)

Ejercicio, Libro de 100 páginas

Utilizando En el editor de textos Word 2010 caben más o menos  280 palabras en 23 renglones, 

 tomamos en cuenta que cada palabra tiene 9 letras aproximadamente.

En el ejercicio de curso meca obtuve un promedio de 300 pulsaciones por minuto  por lo que 

dividiendo en 60 da que aproximadamente escribo 5 letras por segundo:

280 palabras x 9 letras = 2520 letras/pulsaciones por pagina

2520 x 100 paginas del libro = 252000 pulsaciones para el libro completo

300 letras ---- 1 minuto

252000 letras---840 minutos

840 minutos = 14 horas

Por lo que tardaría en CAPTURAR un libro de 100 hojas Arial 12 sin tomar en cuenta el 3% de error, 14 HORAS.

jueves, 28 de mayo de 2015

Ejercicio Java Clases


Tiempo empleado:8:45 minutos
Errores: 1, Cuando hice el ejercicio en clase y declare los métodos solo envié como parámetro la palabra String, sin el id3 como por ejemplo ya esta corregido en el método "setApaterno".

martes, 21 de abril de 2015

Calidad Ensayo.

Eficiencia

Se entiende que la eficiencia es la capacidad del software para hacer buen uso de los recursos que manipula con respecto al hardware. A diferencia de la eficacia, la eficiencia no busca solo cumplir con la funcionalidad, sino que va más allá de eso. Un software de calidad debe ser eficiente para que se  obtengan el máximo beneficio o por lo menos un beneficio conveniente por parte de los involucrados en su desarrollo  haciendo que haya un buen rendimiento del hardware de computadora.
Se propuso una métrica para la eficiencia de la siguiente manera:
eficiencia=  resultados/recursos
Y a partir de esta se tomaron en cuenta como recursos la memoria y el tiempo que ocupa un software en realizar sus funciones y como resultados una evaluación de pruebas del software
recursos=memoria utilizada+tiempo empleado

El SAES del IPN es un software relativamente eficaz, sin embargo en muchas ocasiones poco eficiente pues algo que los usuarios (los estudiantes) notamos a menudo es la tardanza con que realiza sus funciones. Seguramente  lo que hace que éste software no logre solucionar esta problemática es porque el análisis que se necesita para la mejora continua no es de las principales prioridades. 
Cuando se está comenzando un proyecto, se tiene presente con cumplir aquello que venga en los requerimientos, sin embargo, entregar algo que no se quede en ese nivel sino que trascienda es lo que hace la diferencia. 

Exactitud

  • Es la base de un software 
  • Es un factor externo que se logra a través de los requerimientos funcionales del software y tiene que lograr sus objetivos. 
  • En la exactitud, todo va concatenado en función del software, tomando en cuenta que todos los elementos involucrados deben estar verificados, garantizados y asegurados por el desarrollador.

EJEMPLO: WinRaR.
Métrica: 
Exactitud=Número de requerimientos-  Número de requerimientos cumplidos
En donde, si la exactitud es = 0, el software es de calidad y conforme la exactitud > 0, va decreciendo ésta. 

La exactitud, como ya lo hemos mencionado, es la parte fundamental del software que, sin ella, el software simplemente sería nefasto. No importa si la interfaz es hermosa, si su capacidad es mayor o tenga algo extra, si no cumple con los requerimientos exactos. 

Puntualidad


Es la habilidad de un sistema de ser entregado según la fecha prefijada o antes de que los usuarios lo esperen.
La economía acompaña este punto siendo la habilidad de un sistema para ser terminado exactamente o por debajo de su presupuesto original.
Las presiones de puntualidad podrían tentarnos a usar técnicas de “Desarrollo Rápido de Aplicaciones” cuyos resultados pueden no poseer mucha extensibilidad.
Métrica
Para esto debemos tener en cuenta que debemos medir el retraso pues es así como nos puede ayudar a mejorar a ese punto y darle más calidad.
R: retraso
T: Tiempo dado en horas  en que es dado el software de acuerdo a lo prefijado.
P: Tiempo prefijado dado en horas.
R=T-P
Siendo que si R es cero el retraso es nulo y fue entregado a tiempo, si es positivo hubo un retraso lo que indica que se necesita hacer una mejora en cambio si es negativo quiere decir que fue entregado antes que puede hablar bien.
Ejemplo:
En una escuela es pedido un software que se necesita ser entregado para su evaluación final dentro de 36 horas, uno de los equipos entrega su trabajo en 40 horas por lo que se aplica la métrica.
R=T-P;                     R=40-36;                      R=4
El resultado quiere decir que hubo un retraso de 4 horas que hizo que su calificación fue menor por lo que se necesita un proceso de mejora  para obtener una mejor calificación.
Este punto es importante pues en una gran empresa puede significar el que pidan o no pidan sus proyectos pues hoy en dia el mundo se mueve en tiempos exactos y lo que menos quieren es perder tiempo  ya que a ellos aplica el dicho: “el tiempo es oro".


Funcionalidad

Es en el cual se incluye las características necesaria para un software, sin incluir funciones innecesarias de software que complican al usuario realizar su acción


Ejemplificar el concepto

Facebook en 2011-2012 incluye una actualización sobre cambiar tu perfil por biografía lo que dificulto a muchos usuarios sus acciones en la red social, perdiendo su funcionalidad

Metrica sobre la Funcionalidad


Cumple las funciones necesarias

Tienes los diseños (adornos) necesarios para que se  haga un software amigable

Sus métodos tienen el mínimo #errores o ninguno

Sus actualizaciones no afectan a la calidad de software


Ecuación para calcular la funcionalidad

Funcionalidad=(#metodos*métrica)/#errores


 Robustez 

Por ejemplo, la robustez en software se define como la capacidad de responder ante algún evento que pueda comprometer la funcionalidad de este, como algún cálculo erróneo, una métrica aproximada sería dividir el número de veces que el software funcionó bien entre el número de errores que hayan ocurrido, si es mayor a 1 el resultante, el software tiene robustez.
También se utilizan normas para la calidad de software, siendo la más común la  ISO 9000 la cual [3]"Pone a disposición de un auditor o certificador los procesos internos, de forma que este indique si cumple o no la normativa al 100%, audita el sistema; Si los resultados son positivos se emite la certificación y cada cierto tiempo se tiene que renovar; La certificación es costosa, a consecuencia de costes que ocasionan la lejanía y el tiempo de duración de proceso (aprox. 6 meses). Se certifica la empresa y la metodología para el desarrollo de la aplicación." 

Reutilización



El concepto de reutilización dentro del software puede aplicarse de distintas maneras al momento de usarlo.
  1. Consiste en la capacidad de un sistema (software) de ser utilizado en algún otro con el cual haya alguna similitud ya sea de código, diseño o especificación
  2. Es la creación de un sistema a partir de alguno ya existente

Pero la forma de definirlo de manera mas adecuada es: 

Elementos de software creados en desarrollos anteriores que son empleados en un sistema nuevo que simplifica el proceso de desarrollo y a su vez otorga mayor calidad.

Un software que aplique la reutilización permite que el desarrollo sea mas eficiente, incremente su productividad y sea rápido, por lo los tiempos se reducen y permite el avance en algún otro aspecto del sistema como eficiencia, exactitud, etc.

La reutilización dentro de un sistema puede ser medida a través de una formula que establecimos como:

Porcentaje de reutilización=((Software reutilizado)/(Software total))* 100


La reutilización no es lo mismo que la herencia o la copia del código en algún sistema. La reutilización normalmente puede ser dada en diversos programas mediante la importación, es decir, es una característica que solo se da en programación orientada a objetos.

En Java es fácil notar esta reutilización al momento de hacer uso de las librerías que nos brinda, se importa la clase de esa librería y se puede hacer uso de su contenido en el nuevo código.

Facil de usar 

Es la simplicidad con la cual las personas de varios conocimientos y cualidades tienen la capacidad de aprender a utilizar un software, aplicándolo para resolver problemas.
Tenemos que tomar en cuenta también la facilidad de instalación, de operar el software y de monitorearlo.
En la calidad del software es fundamental la facilidad de uso de éste, ya que normalmente el usuario que requerirá tu sistema no tiene conocimientos tan amplios acerca de éste, motivo por el cual es necesario hacerlo a un nivel de interpretación fácil para que el usuario pueda darle un uso efectivo. Si tu software no es fácil de usar, el usuario tendrá complicaciones al utilizarlo y de esta manera no satisfaces las necesidades planteadas, entonces podría dudarse de su calidad.
Un ejemplo de un software “Usable” es Facebook, ya que la mayoría de las personas poseen las herramientas necesarias para comprenderlo y utilizarlo para su conveniencia.
Es importante que el software proporcione orientación para los usuarios principiantes y al mismo tiempo no aburre a las personas con mayor cantidad de conocimientos en el tema, siendo muy útiles las interfaces de usuario, éstas se rigen por el siguiente principio: “No pretendas que conoces al usuario; no lo conoces”.


Compatibilidad 

Conceptualización:
*Facilidad para combinar un elemento de software con otro.
*Interacción de grupos de información a través de un lenguaje de software.
El que no haya compatibilidad no significa que los sistemas no funcionen o estén defectuosos, simplemente que no pueden trabajar juntos, que son incompatibles. La incompatibilidad se puede deber a varias causas, pero principalmente porque un sistema está obsoleto con respecto al otro o porque se ha diseñado para usar con un sistema en particular y no funciona con otros.

Contextualización:
Es importante generalizar software para que aumente su concepto y utilización en diferentes contextos, aquí se basa lo vital que es su papel y su respectiva evaluación

Ejemplificación:
Un ejemplo muy importante de compatibilidad, es el de las páginas web que son creadas a través de lenguajes como Javascript y HTML5; éstos se pueden reproducir y pueden correr en todos los exploradores  web existentes y cualquier tipo de página web se puede visualizar al cien por ciento.

Conclusión:

Finalmente la calidad de software es importante para cualquier sistema, ya que compromete al programador a entregar un producto de calidad, en base a las especificaciones requeridas, por ejemplo, si es agradable estéticamente pero sus procesos no son realizados en el tiempo estipulado, a menos que el cliente no haya pedido como requerimiento que sus tareas sean hechas en el menor tiempo posible, no será de calidad para el usuario. Al final, es subjetivo para cualquiera.

martes, 14 de abril de 2015

SOFTWARE de CALIDAD (͡° ͜ʖ ͡°) ᕙ(`▿´)ᕗ

Introducción

La calidad actualmente se encuentra en cualquier aspecto de nuestro dia a dia, esta prácticamente en casi cualquier producto comercial, y el software no es la excepción, en un mundo en el que el triunfo de un producto sobre otro depende totalmente del consumidor, no es de extrañar que al tratar de competir en un mercado muy saturado los estándares del software sean altos, ya que finalmente influye en gran parte a que el producto final sobresalga sobre la competencia que si bien el producto no es innovador,  puede mejorar la formula ya antes probada un ejemplo, Messenger que optimizo la forma de mandar mensajes de texto

Desarrollo

Ahora definiremos algunos aspectos o estándares que se usan para determinar si un software es de calidad:

Exactitud : Simplemente es asegurarse de que el producto se comporte de la manera en que el cliente lo pensó, a pesar de que esto en cierto sentido es algo muy obvio, hay empresas que al parecer no se preocupan tanto por este aspecto, ejemplo la compañía francesa Ubisoft que lanzo un juego lleno de bugs, que hacían prácticamente imposible jugar, siendo lógicamente este el objetivo principal, uno se pone a pensar en que estaban pensando.

Robustez :  Las acciones imprevistas siempre tienen a ocurrir, generalmente el usuario final es el que las ocasiona, siendo que el programador no tiene idea de como piensa cada persona, no puede prever todos los escenarios posibles, así que se dice que la robustez es la capacidad de un software de responder adecuadamente a acciones inusuales, asegurando una mejor experiencia al usuario.

Extensibilidad : La definición de este concepto es la facilidad con la cual se debe poder cambiar el software con facilidad para un mejor rendimiento, es decir si se quiere mejorar el software en un futuro debe de poder hacerse fácilmente, para lo cual se requiere un código bien hecho en cuanto a sintaxis y legibilidad.

Reutilización : El código creado debe de ser preferiblemente reutilizable, un ejemplo sería programar una calculadora sencilla para un proyecto "x" y después poder utilizar el mismo código de la calculadora para un producto "y", con el fin de ahorrarnos trabajo ya que en un entorno laboral lo que se desea es aumentar la productividad haciendo más en menos tiempo.

Compatibilidad : Es asegurar que el software se pueda comunicar con tantos aparatos electrónicos como ea posible, con el simple fin de tener un mayor alcance y poder llegar a las manos de más usuarios, sin embargo esto puede no ser tomado en cuenta por los desarrolladores ya que hay servicios exclusivos de ciertos productos, lo cual los puede convertir en software más deseado por estar disponible en una sola plataforma, y brindar una mejor experiencia de usuario al estar enfocado en un solo dispositivo en ves de muchos.

Eficiencia :  Es la capacidad que tiene el software de trabajar correctamente con los recursos necesarios, un proceso largo para una tarea simple se dice que no es eficiente ya que no puede simplificar la manera en la que ejecuta la tarea.

Portabilidad : Es la capacidad del software de migrar a otras plataformas, entre menos cambios sean requeridos para trasladarlo de entorno sera mas portable ya que se adapta más fácilmente al ecosistema.

Fácil de Usar : El software debe de ser amigable con el usuario, intuitivo esto es fundamental, para atraer a un mercado mayor, las aplicaciones que son fáciles de usar por lo general son más virales, con la llegada de los dispositivos touch, las compañías han mejorado mucho este aspecto, el hecho de no tener botones fijos ha incitado a los programadores a ser mas creativos con sus interfaces, esto se logra gracias a que no tienen la restricción de los botones, por el contrario existe otro tipo de software que es especializado y por lo general con una larga curva de aprendizaje, las personas se adaptan a ellos siendo que en muchas ocasiones son el pináculo de su tipo y aunque intenten simplificar su manera de trabajar, es difícil puesto a las opciones avanzadas y la gran posibilidad de cosas que se pueden hacer, ejemplo cualquier programa de la suite de Adobe.

Funcional :  Es el conjunto de características que hace posible que el software sea práctico y utilitario, a mi punto de vista es lo más importante en el programa, ya que las personas no buscan una aplicación  o programa por su portabilidad o su reutilización si no por la funcionalidad, la necesidad que busquen satisfacer ya sea por entretenimiento entre otros un ejemplo muy claro es  crailgist que es una página de anuncios clasificados la cual no tiene un diseño atractivo, incluso parece hecha a finales de los noventa pero sin embargo cumple para lo que esta hecho y no necesita más hace su trabajo.

Puntualidad :  Es el estar a tiempo, en este caso el proyecto, significa que debe de ser programado dentro de un rango de tiempo, para asegurar una mayor eficiencia.

Conclusión

Debemos tomar muy enserio los aspectos definidos en el desarrollo de este post ya que su cumplimiento al 100 % nos garantiza que nuestro software es de calidad, dándonos así una mayor posibilidad ante la competencia de triunfar en el mercado. Las normas de calidad son muy importantes para que no ocurran errores o hacer que estos se den con menor frecuencia


Bibliografía
http://jurifa-ingenieriadesoftware.blogspot.mx/2012/09/reutilizacion-de-software.html
http://iie.fing.edu.uy/investigacion/grupos/bicoti/bicoti1/SoftEngineering/softeng01.htmwww.angelfire.com/dc/marcodorantes/Docs/CalidadDelSoftware.doc
CIMAT (2007).
Calidad de Software: Modelos, Procesos y Arquitectura
. [ONLINE] Available at: http:// www.cimat.mx/Eventos/seminariodetecnologias/handout-CLemus.pdf. [Last Accessed April , 7th].

martes, 31 de marzo de 2015

¿Que es Calidad?

¿Que es la calidad?
INTRODUCCIÓN: La palabra "calidad", tiene muchos significados, una de ellas es que nos sirve de herramienta para comparar dos objetos de la misma naturaleza y bajo un criterio asignar el termino de objeto de calidad a uno u a otro. Otro de los significados de esta palabra, de forma básica es un conjunto de características o propiedades de un objeto que le sirven para satisfacer las expectativas y necesidades de un cliente, por ejemplo, una escuela que tiene buenas instalaciones, profesores y un buen nivel en pruebas como la "enlace" se le puede llamar escuela de calidad. También existen servicios, llamados de calidad por la percepción que tiene un cliente sobre este, si satisface sus necesidades y cumple con lo que el cliente pide. 

DESARROLLO:
Aplicando los conceptos de calidad, a un ámbito de la vida diaria, como el trabajo, por ejemplo, para un programador la
Calidad se trata de hacer las cosas bien de una manera correcta y cumplir con los deseos del cliente de una manera óptima. Además de que los empleados se sienten mejor y se sienten motivados cuando el cliente aprecia su trabajo, el trabajo corre con menos problemas.

Existe calidad cuando las necesidades son cubiertas y las esperanzas realizadas; el cliente está satisfecho y está dispuesto a pagar y volver a contratar a la misma empresa en otras ocasiones. Llegar a la calidad correcta se trata en primer lugar saber cuales son las necesidades del cliente y que espera y después realizarlo.

Aseguramiento de Calidad:

El Aseguramiento de la Calidad consiste en tener y seguir un conjunto de acciones planificadas y sistemáticas, implantadas dentro del Sistema de Calidad de la empresa. Estas acciones deben ser demostrables para proporcionar la confianza adecuada (tanto a la propia empresa como a los clientes) de que se cumplen los requisitos del Sistema de la Calidad.
La gestión de calidad:

Tiene que ver con la organización interna que ejerce la determinación de los procesos productivos y de las características y cualidades de los productos, es decir es la gerencia o el manejo de los proceso productivos enfocada al mejoramiento continuo.


Control de Calidad

Realiza o participa en la caracterización de los nuevos productos en sus diferentes fases de desarrollo y en el establecimiento de las especificaciones de calidad de los mismos. Desarrolla, ejecuta o coordina la ejecución de los métodos de ensayo para determinar las características de calidad de las materias primas, materiales, productos intermedios y productos finales.

Diseña y realiza los estudios de estabilidad de los productos intermedios.
Participa en el desarrollo, ejecución y perfeccionamiento del Sistema de Calidad.

la ingeniería industrial, se ocupa del mejoramiento continuo de los procesos productivos en las organizaciones con objetivos de eficiencia y equidad, determina procesos productivos formas óptimas de producción y se relaciona mucho con la planeación estratégica de las empresas.

Tambien encontramos que como en la introduccion, Existten varios tipos de calidad

Tipos de calidad:
·         Calidad que se espera: se da cuando existen propiedades y características que los consumidores dan por sentando que encontrarán en los productos o servicios. Cuando encuentran estas propiedades y características, los consumidores quedan satisfechos, pero cuando no las encuentran, quedan muy insatisfechos.
·         Calidad que satisface: se da cuando existen propiedades y características que los consumidores solicitan específicamente. Cuando están presentes estas propiedades y características, los consumidores quedan satisfechos, pero cuando no está presentes, quedan insatisfechos. La calidad que satisface cumple con las expectativas del consumidor, pero sin llegar a superarlas.
·         Calidad que deleita: se da cuando existen propiedades y características que los consumidores no solicitan porque no saben que puedan existir, pero que cuando están presentes y agradan, los consumidores quedan muy satisfechos; sin embargo, si no las encuentran, no quedan insatisfechos. La calidad que deleita supera las expectativas del consumidor


CONCLUSION: 
Puedo concluir que la calidad es un aspecto o característica que primordial-mente como programadores hay que buscar que sea atribuido a nuestros trabajos y programas ya que es un estándar que actualmente en un mundo que se encuentra en el máximo esplendor de la globalizacion, donde en nuestro país ademas de la propia competencia que se genera con los nuestros, también existen personas de otros paises compitiendo aquí, por lo que ser reconocido como un programador de calidad es vital para triunfar, cosa que no se consigue de gratis, hay que buscar siempre tener contacto con el cliente, identificar rápidamente sus necesidades, gustos e incluso opiniones y puntos de vista, para atacar el problema no solo de forma que satisfaga la necesidad o resuelva su problema ya que eso, cualquiera lo hace, también hay que conseguir  que sobre otra propuesta que resuelva la problemática del cliente, el, nos prefiera ahí donde aplican los criterios para decir si algo es de calidad o no: Como podrían ser, funcionalidad, calidad-costo, estética, etc..










Textos consultados: , González, Manuel Joaquín Redondo. «Scribd Proyecto: Manual de Calidad y Procedimientos para la Empresa de Desarrollo de Software.» s.f. scribd.com. Página Web. Abril de 2013. :, www.facmed.unam.mx/emc/computo/infomedic/presentac/modulos/ftp/documentos/calidad.pdf

www.gestiopolis.com/recursos/experto/.../Que%20es%20calidad.htm