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


Testing our programs…

What is software testing?no-surprises

Software testing is the process of executing an application or program with the intent of
finding software bugs. It also can be used to see if the intentions of the software were made; validate or verify that the program works as expected. NO SURPRISES!

Lets take in count that testing is a process and not a ingle activity, also that it is part of the SDLC (Software Development Life Cycle, for more about it click HERE) and that it could be Static Testing or Dynamic Testing, this means that it may or may not execute the code in order to detect problems.

Why should we test our programs?

There are a lot of failures in history that come from bad or no testing. Testing your programs is important, because that will help to prevent future situations. Maybe if you’re a starter in the Software world, testing your programs is not a great thing, but later, if you start using it will transform into a good behavior.

Sources:

http://istqbexamcertification.com/what-is-a-software-testing/

https://users.ece.cmu.edu/~koopman/des_s99/sw_testing/

 


Software Requirements…and stuff

Software Engineering

As easy as it sounds, software requirements are requirements for software. But let’s dig a little bit deeper. Requirements are not only the functions required, actually this might be the least of the concerns in terms of requirements.  Requirements must surpass all of the client’s expectations.

There’s even a science in charged of this analysis; and it is called Requirement Engineering  its goal is to develop a very very very special and important document called the System Requirements Specification.

It involves mainly four steps, although there are text that claim it to be more than that and they are:

  • Feasibility Study:  This is the initial stage. In this one, the requirement engineer must meet the client in order to talk about the general expectations. Then, he produces a very wide and thorough analysis on the possible constrains, implementation cost, and objectives. It also explores the technical aspects of the…

View original post 269 more words


We love Open Source!

Every single software developer talks about Open Source Software. They say, I love Open Source, Have you changed that program?, I’m installing Linux! But what the hell is Open Source?! Sometimes things are hard to explain and life is better with LEGOs, so here is an explanation of what open source is…

opensource92413It was not that hard. Actually Open Source is really easy to explain. Open source software is software with source code that anyone can inspect, modify, and enhance. The source part is something that only programmers see and use to improve that program by adding features to it or fixing parts that don’t always work correctly.

But with a great project comes a great responsibility. Open source is not just about improving; someone has to promote and protect all that hard job. And here is where the Open Source Initiative gets in.

osi_standard_logoTheir job is to protect and promote the work of developers. They also prevent the abuse of the ideals and ethos inherent to the open source movement.

Open source doesn’t just mean access to the source code. The distribution terms of open-source software must comply with some criteria. The Open Source Definition is that criteria.

aaeaaqaaaaaaaacjaaaajdcwogflngnmlte5zgetndc1zi1hmzewltg3owu3zjm1njcwnw
There are a lot of Open Source programs that we see daily, and maybe we should get a chance to try them, and see whats the difference. And just maybe we will transform in those Open Source freaks. No one knows.

Bloggers that blogged in this blogpost:

Miguel Cabral

Victor Najar

Carlos Pedraza

Juan Pablo Ramirez

 

Sources:

https://opensource.org/

https://opensource.org/osd

https://opensource.com/resources/what-open-source


Understanding Software Architecture

Software Architecture is the representation of the program that helps to understand how the software will behave. It serves as a guide for the design and the implementation teams. And is the first line of the system’s quality, such as performance, modifiability, and security. None of these could be done without an architectural vision.

61391451

By building effective architecture, you can identify design risks and mitigate them early in the development process. It also gives an approach of the final design.

Like any other complex structure, software should be done on a solid foundation. Any failure in the future could result a risk for the application.

The most important part of it, is to always consider three things: The User, The System & The Business.

Finding a valance between the desire and specifications of each will result on a good architecture, and this will lead on a great application.

But unfortunately there are major problems that are hard to decode. That’s why we always need to think about this major concerns:diossimpson20120507053705

  • How will the users be using the application?
  • How will the application be deployed into production and managed?
  • What are the quality attribute requirements for the application, such as security, performance, concurrency, internationalization, and configuration?
  • How can the application be designed to be flexible and maintainable over time?
  • What are the architectural trends that might impact your application now or after it has been deployed?

The goal of architecture is to identify the things that affect the structure and functionality of the application. Good architecture reduces the business risks associated with building a technical solution.f63aea5b2c0ca768e0cb9d4c0af1a1c40f546b808664bd13da42b6d5899af4b8

The architecture is important in everything, and when talking about software, it’s the base for a good one; you don’t want the users to be mad at you.

 

Source:

http://www.sei.cmu.

Continue reading "Understanding Software Architecture"