El único curso con un #

En México todas nuestras clases desde que estamos en la primaria son completamente aburridas. Es muy raro ver a un maestro que disfruta dar clases y más que eso que hace que sus alumnos disfruten de su clase. En toda mi vida solo he tenido 3 maestros que han hecho de la escuela un lugar de diversión.

#TC1019

La clase de Fundamentos de Ingeniería de Software fue una experiencia diferente a las que había vivido en años. Al entrar a la universidad no esperaba tener clases de este tipo, tan animadas y con un maestro que disfruta lo que hace.

El Tec21 se caracteriza por crear nuevas técnicas de enseñanza, y sin duda el aprender por ti mismo es una muy buena ya que te permite descubrir el aprendizaje por ti mismo; pero Ken Bauer va más allá. Para empezar trata a sus alumnos como personas, y no como simples minions que van a aprender de algo.

Su clase y sus palabras te dicen que siempre está atento a los sentimientos de los estudiantes. Cuando necesitas momentos para ti mismo u otras materias, él te ofrece ese tiempo que es valioso para cualquier persona.


En esta nube no llueve

Todos usamos la nube, mejor conocidas como “The Cloud” en inglés. Algunos pueden decir que no es verdad, que todo lo que usan es su computadora. Pero al final, no se dan cuenta que la nube no es un lujo más en la web; la nube se ha convertido en algo fundamental para el uso de un ordenador y por supuesto de internet.

¿En qué la uso?

almacenamiento-en-la-nubeEl uso más común es en los correos electrónicos que usamos a diario. Al momento de entrar a tú correo, no estás viendo la información directo de la computadora. Lo que está sucediendo es que se observa un reflejo de lo que está guardado en la nube, al entrar al correo solo se está dando acceso a ese espacio y todo lo que se haga se modificara directamente.

Otro uso común es en proveedores de espacio. Servicios como Drive, Dropbox, OneDrive o  Box, dan espacio en la nube para que las personas puedan guardar sus archivos. Sin duda algo que se veía como un lujo antes, ahora es algo indispensable, y los que proveen este servicio se ven recompensados.

 

Referencias:

http://aprenderinternet.about.com/od/ConceptosBasico/a/La-Nube-En-Internet.htm

http://www.conexionbrando.com/1389864-que-es-la-nube-para-que-sirve-y-cuales-son-los-servicios-que-tenes-que-conocer


¿Por qué todos hablan de Big Data?

Últimamente se está hablando mucho sobre Big Data. Se ven conferencias cada mes de expertos hablando de este tema. Los que estamos rodeados de tecnología lo escuchamos seguido, pero, ¿qué es Big Data y por qué todos hablan de ella?

big-data

big-data¿Qué es Big Data?

Con tantos datos en la actualidad, existen diferentes problemas al tratar de administrarlos. Eso es lo que Big Data pretende. Administrar datos nuevos, creación de nuevos datos y administración de los tipos de datos tradicionales. Todo el almacenamiento y control de los mismos datos se permite mediante patrones que se encuentran dentro de estos.

¿Para qué se usa?big-data-collection

Se busca manipular enormes cantidades de datos para áreas como la mercadotecnia, análisis de negocios, datos sobre enfermedades, lucha contra el crimen, entre otros. El gran problema es que cada día estos datos crecen y los lugares de almacenamiento se acortan. Incluso se dice que si guardaran todos los bits y bytes de datos dentro de un disco, la torre sería suficiente para ir de la Tierra a la Luna y de regreso.

Problema…

Cada vez somos más personas en este mundo. Y sin duda el uso de internet y de datos son indispensables en el mundo tecnológico. La administración de una gran cantidad de datos puede significar un gran avance. Y si se toma con cuidado, ese avance se pude convertir en el futuro.

 

Referencias:

https://www.ibm.com/developerworks/ssa/local/im/que-es-big-data/

https://www.oracle.com/lad/big-data/index.html


Software Verification and Validation

Julia's Blog

slide_42.jpg

Verification and Validation are important during the Software Lifecycle because they help us to find and correct errors as soon as possible, thus preventing the delivery of a faulty product to a costumer. Is it a good product or not?

There are two aspects of V&V tasks:

  • Confirms to requirements
  • Fit for use

It’s important to outline the difference between these two terms:

  1. Verification:
    1. Process to evaluate the mediator products to check wheter the products satisfy the conditions imposed during the beginning of the phase.
    2. “Are we building the product right?”
    3. It uses static testing.
    4. A verifier stablishes that the product implements all the requirements documented in the SRS.
  2. Validation: 
    1. Process of evaluating the final product to check if it meets the business needs.
    2. “Are we building the right product?”
    3. It uses dynamic testing.
    4. The validator establishes that the SRS is a true reflection of the user’s needs.

Source:

View original post


Designing a UI

A UI or User Interface is every single interaction of a software with the users. The UI is a big part of developing a program. Without an attractive view, the UX (User experience) and usability of that software will go down.

350px-linux_kernel_input_ouput_evdev_gem_usb_framebuffer-svg

Interface design is made totally for the public. So if the public don’t like it, your development won’t work. That’s why it should have some elements like these ones:

  • Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list boxes, toggles, date field
  • Navigational Components: breadcrumb, slider, search field, pagination, slider, tags, icons
  • Informational Components: tooltips, icons, progress bar, notifications, message boxes, modal windows
  • Containers: accordion

The key for a good UI is to keep it simple. A page, program or desktop with a lot of elements is not good-looking. Also the colors and typography are important. Attractive colors and different sizes of letters will please the users eyes and gain more views.

Sources:

http://bokardo.com/principles-of-user-interface-design/

https://www.usability.gov/what-and-why/user-interface-design.html


Software Maintenance

Selling and delivering a piece of software is not the only work that a software engineer has. Actually the post-developement processes are important too. Maintaining the software is important for a better performance.

Why is performance so important?

Basically it’s important because if there is a software problem that users won’t like it, and if that problem is not fixed then the users will stop using it.

maintenance_cost_chartBut, even when performance is so important, the majority of fixes during the software maintenance is not for it. Main changes are for software evolution. Time changes and programs should too.

Maintaining a program is part of the software life cycle, but it is not as important as the development part. In my opinion it should be that important, because that process is the one that helps the software to be alive. Without this process our softwares are obsolete and wouldn’t live so long.

 

Sources:

https://www.tutorialspoint.com/software_engineering/software_maintenance_overview.htm

http://swebokwiki.org/Chapter_5:_Software_Maintenance


Verificación y validación de software

Estas dos palabras son utilizadas muy frecuentemente en el testeo de software. Verificación es el proceso de evaluar el producto para ver si cumple con las expectativas de cada parte y la validación es muy parecida pero lo que cambia es que debes de ver si una parte cumple con las expectativas es ver si todo el producto en sí las cumple.

La diferencia es en el objetivo que quieren lograr, la verificación es para comprobar si durante el desarrollo del producto se está haciendo de la manera correcta y la validación es para comprobar que el producto está terminado y listo para ser publicado o vendido.

14000664235_91124f800d_z.jpg
Foto de flickr por Daniel Waters

En conclusión, estas partes del testeo de software son muy parecidas, pero ambas son necesarias para la creación eficaz y eficiente del producto.

Referencia


Diseño de interfaces de usuario

La interface es lo que los usuarios están utilizando para comunicarse con el código y su diseño es muy importante para la utilización de tu software porque es si tu código es algo impresionante y no tienes una interface que el usuario comprenda nadie va a utilizar tu producto.

3013865652_b3ea69377d_o.jpg
Foto de flickr por Jeff Warren

La manera que el diseño está incorporado en la interface es de una manera sencilla y para que tu aplicación lo tenga tiene que seguir una serie de pasos.

Primero tienes que hacer es que la interface tenga los elementos necesarios para su utilización ya que si pones demasiadas cosas en ella no se podrá comprender, después tienes que hacer sea sencillo de leer y utilizar ya que si tiene los botones necesarios, pero en un orden extraño puede que el usuario no lo pueda comprender, por ultimo tiene que verse bien por el simple hecho de que a la mayoría de los usuarios quieren también algo que se vea bien.

En conclusión, para mí la interface de usuario es una parte muy importante para que tu producto pueda evolucionar a otro nivel y los usuarios puedan utilizar tu producto en todo su esplendor.

Referencia


Mantenimiento de software

El mantenimiento de software se implementa cuando ya entregaste un producto y lo quieres mantener funcionando a lo largo del tiempo y también en ocasiones modificarlo para hacer algo mejor.

7263382550_002a49be33_z.jpg
Foto de flickr por Florian Richter

Algunas razones para la modificación de tu código pueden ser alguna de las siguientes.

Por condiciones del mercado, por requerimiento del usuario o si la organización cambia por alguna razón

Esta parte es muy importante para el software ya que la tecnología está en constante movimiento y cambiando y si tu no te adaptas y cambias con ella tu producto queda obsoleto y no se puede utilizar por esto el mantenimiento del software es muy importante.

En ocasiones le tenemos miedo al cambio de nuestro software porque no sabemos si lo que estamos modificando es lo correcto, pero la verdad para mi es que el cambio es necesario y nos tenemos que adaptar para poder seguir creciendo.

Referencia


Software de código abierto

En pocas palabras es cuando las personas que crearon el código lo hacen público para que las personas lo puedan ver y modificar, pero no tomar poder tomar crédito de como el creador del código.

128010935_67ce3d5b33_z.jpg
Foto de flickr por Justin

Al hacer el software código abierto esto ocasiona para mí que todas las personas que están utilizando tu producto lo puedan modificar para poder ayudarte a crear algo mejor y esto también ocasiona que las personas puedan estar mucho más relacionadas con tu producto y sientan in sentimiento de incorporación en el producto que están utilizando.

Para terminar esto es una manera de crear algo con lo que los usuarios del producto puedan estar incorporados y crear algo mejor que si lo haces solo.