Java

En mayo de 1995 se  anunció formalmente el nacimiento de Java por la empresa Sun Microsystems.Java promettía ser algo que conectaría a los usuarios con la información de servidores web, bases de datos y cualquier otra fuente de información imaginable. Y esto le abrió muchas puertas a este lenguaje. Con la expansión de WWW, Java fue una herramienta para hacer esto realidad.

En la actualidad Java es muy usado por las empresas, y es una herramienta clave para el desarrollo web, por sus características de seguridad hicieron a este proyecto más atractivo, así como sus aplicaciones para cualquier tipo de dispositivos. Así como también tiene características de programación avanzada, esto hace que sea útil para programar redes o conectar bases de datos.

Una de las más grandes ventajas de Java es sus programas son independientes de la máquina, es decir, sus creadores hicieron una computadora virtual la cual es conocida como máquina Virtual Java,su lenguaje es el bytecode.En la mayoría de los lenguajes de programación se necesita de un compilador especial dependiendo de la máquina,  en cambio en Java el carácter interpretado es independiente de la máquina, así que sus programas se pueden ejecutar en cualquier CPU.

Desde su lanzamiento se han hecho 8 versiones de éste. Java se ha convertido en un lenguaje clave en la formación de las nuevas generaciones, debido a que es muy versátil y con éste se pueden aprender los fundamentos de la programación.

Para aprender a programar en Java se requieren técnicas y metodologías para realizar un análisis, diseño y la construcción de algoritmos; así como necesitamos conocer las herramientas que nos ayudan a realizar las tareas prácticas de programación, las cuales un programador necesita conocer.

La programación en Java es totalmente orientada a objetos, el cual es un paradigma que domina

Continue reading "Java"

La participación de las mujeres en el desarrollo de software

En México como en muchas partes del mundo, se sigue estableciendo una división entre lo que es visto como una actividad para mujeres y una para hombres. Desde pequeños se les inculca a los niños que ciertas cosas son de niñas y ciertas cosas son de niños, y quizá esta pueda ser la razón de que a la hora de que deben elegir una profesión, muchas veces se dejan llevar por esta separación de géneros, pues temen ser mal vistos por la sociedad si eligen alguna carrera que no vaya con quien son.

En el campo de la ingeniería de software, esta diferencia entre las mujeres que eligen dedicarse a esta profesión con los hombres que lo hacen es muy grande y lamentablemente está muy marcada. De acuerdo a diferentes estudios, áreas como las matemáticas o la computación son ampliamente preferidas por el género masculino, lo cual provoca que las mujeres se sientan excluidas o como una minoría y opten por carreras comúnmente fuera del ámbito científico.

Un factor que influye en la gente que se interese en esta ciencia, es el acercamiento con los videojuegos, debido les impulsa la posibilidad de desarrollar software, de esta manera  hacerlos más entretenidos, en su mayoría los que tienen este vivencia son varones. Sin embargo, en muchas ocasiones cuando una mujer usa una computadora sólo lo hace para escribir texto, usar redes sociales y escuchar música; las cuales son actividades básicas que muy pocas veces despiertan su curiosidad de integrarse en este rubro.

 Tenemos que valorar a las mujeres que se animan a entrar a esta ciencia porque logran superar todos los estereotipos, discriminaciones, además de las barreras con las que se enfrenta una mujer al querer estudiar una ingeniería. Así como apoyarlas para que se animen a entrar a esta ciencia, puesto

Continue reading "La participación de las mujeres en el desarrollo de software"

Semester Review

Juanca's Blog

software-engineering

  • Software engineering, craft or an engineering discipline?
    Software development and design is part art and part science, it can be understood as a systematic approach to the analysis, design, assessment, implementation, test, maintenance and reengineerig of software, that is, the application of engineering to software. In the Software engineering approach, several models for the software life cycle are defined, and many methodologies for the definition and assessment of the different phases of a life-cycle model
    1

  • History of Software Engineering
    The term Software Engineering became known after a conference in 1968, when the difficulties and pitfalls of designing complex systems were frankly discussed. A search for solutions began. It concentrated on better methodologies and tools. The most prominent were programming languages reflecting the procedural, modular, and then object-oriented styles. Software engineering is intimately tied to their emergence and improvement. Also of significance were efforts of systematizing, even automating program documentation and…

Ver la entrada original 838 palabras más


Desarrollo de software en la industria de la Animación

La evolución que en los últimos años han tenido las ciencias computacionales ha sido de gran ayuda para potencializar diferentes mercados de la industria digital. Un ejemplo de esto es la industria de la Animación, pues en la actualidad es ayudada por la ingeniería de software mediante la producción de herramientas que le permiten a los animadores y artistas digitales realizar trabajos de mayor calidad visual.

Plataformas como 3D studio Max, ZBrush, Maya, Harmony, entre otras, han permitido a estudios de producción tanto grandes como pequeños la creación de contenidos visuales de diferentes tipos, desde publicidad, comerciales o cortos hasta películas y videojuegos. Este tipo de software cuenta con distintas herramientas que le permiten a los artistas modelar y construir personajes y escenarios en dos o tres dimensiones para posteriormente animarlos.

Aunque en los últimos años se ha popularizado cada vez más la animación, los videojuegos y la realidad virtual, el desarrollo de software ha contribuido en ellos desde mucho tiempo atrás. En 1990 comenzaron a destacar diferentes juegos de video, lo cual trajo consigo una gran demanda de animadores 3D, se crearon muchos juegos para computadora personal, y con ello surgieron nuevas plataformas que incluso en la actualidad siguen estando vigentes y actualizando constantemente el software que ofrecen para mejorar la experiencia de los usuarios. Algunas de estas plataformas son la PlayStation, de Sony; la Nintendo 64, de Nintendo y la Sega,de Dreamcast.

Como podemos ver, gracias a la ingeniería de software es que hoy podemos disfrutar tecnologías de gran calidad visual cada vez que vamos al cine, vemos una serie o un corto animado o jugamos cualquier tipo de videojuego. Es realmente impresionante todo lo que se puede lograr gracias a las ciencias computacionales, y la manera en la que el punto de encuentro entre el arte y

Continue reading "Desarrollo de software en la industria de la Animación"

Software verification and validation

Los términos de verificación  y validación son muy usados cuando hablamos de software, sin embargo estos suelen confundirse.

La definición de verificación de software va más encaminada al proceso de evaluación de  los productos de trabajo de cada fase del desarrollo del proyecto, para determinar si se conocen los requerimientos de la fase evaluada.

El objetivo de esto es asegurarnos de que el producto fue construido con  los requerimientos y las especificaciones de diseño.

La pregunta que nos hacemos cuando estamos verificando es si estamos haciendo el producto de la manera correcta.

La verificación de software puede ser demostrada con un V-Model. Y sus actividades son:

  • Reviews
  • Walkthroughs
  • Inspection

La definición de validación de software está enfocada en el proceso de evaluación durante o al final del proceso de desarrollo así determinar si este satisface los requerimientos de necios especificados.

El propósito  de ésto es para estar seguros de que el producto cumple satisface a las necesidades del usuario y las especificaciones son cumplidas antes que nada. En  general que el producto cumple con lo que debería cuando es trasladado al ambiente en que será usado.

La pregunta que nos hacemos en la validación de software es si estamos construyendo el producto correcto.  

Las actividades de esta son:

  • Unit Testing
  • Integration Testing
  • System Testing
  • User Acceptance Testing

Resultado de imagen para v model

 

 

Foto recuperada de Flickr por Ccaamm

Fuente.


User interface design

Es el diseño de software que se basa en la experiencia del usuario, es la parte del programa con la que el usuario interactúa, interfaz gráfica. Actualmente está presente en  los programas para hacer la comunicación con el programa más amigable y fácil.

El diseño de la interfaz gráfica está hecho de manera en que sea fácil la manipulación de este y el desenvolvimiento del  del usuario. La interfaz de usuario es el medio que comunica a la computadora y al usuario, de manera que la computadora responde a lo que el usuario quiera hacer con el programa. Si ésta no existiera el usuario necesitaría tener conocimientos más avanzados para lograr interacción con ésta, en cambio con la interfaz gráfica se simplifica mucho.

El software se convierte más popular si la interfaz gráfica es atractiva, intuitiva, simple, fácil de usar, agradable a la vista, responsiva y amigable con el usuario.

Las actividades del diseño de la interfaz de usuario son:

Revisión de los requerimientos de GUI

Análisis de usuario

Análisis de tarea

Diseño e implementación de GUI

Pruebas

Lo más importante a considerar al desarrollar una Interfaz de Usuario son:

Coherencia: secuencias de acciones serán requeridas en situaciones similares. Así como el diseño visual del programa debe seguir una patrón establecido, si no el programa deja ser atractivo.

Permitir al usuario poder usar atajos, entre más eficiente sea el programa, el usuario lo usará más, por eso es importante la creación de éstos. Además de que el usuario ahorra tiempo en la comunicación con el programa.

Dar comentarios informativos: Así cuando el usuario esté usando alguna parte del programa con la que no esté familiarizado estos pueden ser de gran utilidad. Pero en las partes del programa que el usuario utiliza con frecuencia estos mensajes pueden ser molestos, por esta

Continue reading "User interface design"

Software maintenance

El mantenimiento del  software es una parte importante del system development life cycle.

Es cuando modificamos el código después de la entrega de éste, ya sea para mejorarlo, haciéndolo más eficiente. Así vuelve a comenzar el ciclo, después de este paso. Se enfoca más en la corrección de los defectos del software.

Aunque la mayoría de las veces se mejora el programa añadiendo más funciones que el usuario necesite del software, así se pueden satisfacer las necesidades del cliente con el software.

Existen cuatro tipos de mantenimiento:

Mantenimiento correctivo:  Este incluye a las modificaciones y actualizaciones hechas para corregir los problemas que fueron detectados por el usuario.

Mantenimiento adaptativo: este se basa en las modificaciones y actualizaciones aplicadas para mantener al software congruente con las tendencias de tecnológicas que haya en el momento.

Mantenimiento perfeccionista: Cambios hechos para que el software sea usable por un largo tiempo.  Esto incluye nuevas características que responden a los requerimientos actuales del usuario, los cuales son para redefinir al programa y mejorarlo.

Mantenimiento preventivo: Este incluye las modificaciones para prevenir futuros problemas con el programa, se enfoca en atender a los problemas que nos son significativos en el momento de la modificación, pero sí lo pueden ser en el futuro.

Las actividades del mantenimiento son:

Identificación y seguimiento

Análisis

Diseño

Implementación

Pruebas de sistema

Aceptación de pruebas

Entrega

Manejo de mantenimiento

Resultado de imagen para software maintenanceResultado de imagen para software maintenance

Chequen este vídeo.

 

 

 

Fuente.

Foto de portada de Flickr por ryan harvey.

 


Dennis Ritchie

En este último mes hemos escuchado hablar de Dennis Ritchie, por aniversario de su fallecimiento. En este blog les quiero hablar de todo lo que hizo este hombre por la computación y el porqué se ha ganado nuestro respeto, debido a que gracias a él se tuvo un increíble desarrollo tecnológico.

Dennis MacAlistair Ritchie nació el 9 de septiembre de 1941 en Nueva York, estudió física en Harvard. Mientras estudiaba en Harvard, consiguió un trabajo en Massachusetts Institute of Technology (MIT), en esos años la carrera de informática todavía no existía, entonces los laboratorios buscaban a alguien que les ayudara a desarrollar sus proyectos. Ritchie se interesó en el proyecto, el cual consistía en desarrollar sistemas operativos y software.

empezó a trabajar en un sistema operativo para ordenadores portátiles, pero en ese momento las computadoras ocupaban cuartos completos, eran muy grandes. Aunque ya se había empezado con el desarrollo de computadoras de escritorio. Se quería desarrollar un sistema que pudiera ser utilizado por miles de personas al mismo tiempo y ejecutarse las 24 horas del día, sin embargo en ese entonces sonaba algo muy complicado, la programación era de eso era un reto.

Cuando se terminó el proyecto Dennis se graduó de física, gracias a este se dio cuenta que quería dedicarse a desarrollar en vez de la física. Entró a trabajar a Bell Labs en 1967, participó en muchos avances técnicos. Sin embargo Ritchie quería centrarse en proyectos específicos en los que pudiera estar rodeado de gente con experiencia e ideas, para enfocarse en hacer mejores proyectos y aprender más de esta profesión.

Comenzó a trabajar con Kenneth Thompson, en 1966 en  Bell Labs, se dieron cuenta que las  minicomputer se habían vuelto muy populares, ellos querían lograr una interacción más sencilla entre varios ordenadores. La solución a este

Resultado de imagen para dennis ritchie biography
Continue reading "Dennis Ritchie"

What is open source software??

Alguna vez escuchas el término de “Open source”, en este blog daré una breve explicación de lo que es.

El término de open source se refiere a algo que las personas pueden modificar y adaptar de acuerdo a sus necesidades; debido a que éste es accesible. Open source es un código  que tiene un recurso para que las personas lo puedan modificar, cualquier persona lo puede hacer. Con un código abierto el usuario lo puede manipular y cambiar cada pieza específica  del software.

En los sistemas en los que el sistema no es de código abierto el usuario no puede modificarlo, tal es el caso de Windows, este sistema operativo ya viene establecido, se pueden hacer ciertas modificaciones mínimas, pero no es tan accesible como un open source. Sólo las compañías que crean este tipo de software pueden modificar, alterar y cambiarlo.

El código abierto es totalmente diferente, los creadores del software dejan un recurso para que el usuario pueda aprender de este, instalarlo, modificarlo y adaptarlo.

Las licencia de open source dan derecho a los usuarios de usar el software para el propósito que ellos deseen. Sin embargo las licencias establecen que cualquier persona que modifica o comparte un programa, también debe de compartir el código fuente, sin cobrar por hacerlo.

Las personas prefieren usar open source porque:

Control: se prefiere porque se tiene mayor control del sistema, debido a que puedes hacer los ajustes que tú quieras.

Training: a muchas personas les gusta porque con esto están practicando constantemente y se vuelven mejores programadores.

Security: se considera que el código abierto es más seguro que un software no libre, porque cuando se lanza el programa las personas detectan cualquier falla en el sistema y comparten cómo corregirlo. Y este proceso es más rápido en comparación cuando el sistema

Resultado de imagen para xubuntu
Continue reading "What is open source software??"

Software implementation

Los métodos para la implementación de software son:

Programación estructurada

Es el proceso de programación en el cual escribimos código y las líneas de código aumentan, por lo cual el tamaño del software crece. Si no se tiene muy en mente lo que  hace cada módulo del código, se vuelve difícil recordar todo lo que hacía cada parte y cómo corría esa parte; por esta razón se empieza a volver complicado encontrar los errores del programa.

La solución a esto es la programación estructurada, con esto se intenta que los programadores a usar bucles en lugar de saltos de código. Así el código se vuelve más claro y mejora la eficiencia de la programación, con este orden se reduce el tiempo de programación y se organiza mejor el código.

La programación estructurada usa tres conceptos principales:

Top-down analysis

Modular Programming

Structured Coding

Programación funcional

Es un estilo de lenguaje de programación, se utiliza el concepto de funciones matemáticas, las cuales deben producir el mismo resultado al recibir el mismo argumento. El programa se ejecuta a través de procedimientos.

En la programación de procedimiento es posible producir diferentes resultados en un método que recibe el mismo argumento, ya que el programa puede estar en un estado diferente, por eso la secuencia de ejecución es algo muy importante.

La programación funcional proporciona diferentes funciones matemáticas, cada una produce resultados independientes dependiendo del estado del programa.

Estilo de programación

El estilo de programación son las reglas que siguen los programadores al escribir el código. Cuando los desarrolladores trabajan en un proyecto, trabajan con el código escrito por algún integrante de este. Esta puede ser una tarea complicada si no se sigue un estilo o un orden, para hacer esto más sencillo se debe seguir un estilo de programación.

Para seguir este estilo se

Continue reading "Software implementation"