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.


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"

Course Review

But first, a little about myself

first, I wanted to let something clear, and it is that I´m not an ISC and I actually don´t really enjoy a lot of the computing things, a lot of talks I didn´t even knew what they were all talking about. Just keep this in your head.

Also disclaimer, this was meant to be in a video but due to technical reasons I couldn´t upload it so I just transcribed it as it sounded in an attempt to not get misunderstood.

The way of teaching

First we´ll start with the way of teaching, the #FlippedClassroom. I have to say I really liked it, I´ve had another class with Ken before so I already knew what to expect more or less. Although I´m not as in love as some other people like Ken and a bunch of ISC, I think it´s a really good way of changing things a bit.

It really is a good way to draw people´s attention and hunger for knowledge, it didn´t work on me because I don´t like this things, and I kinda needed to be forced into the classroom. But I get it, ISC are like 99.999% of your students, I mean I wouldn´t have changed for me. What I´ll say is that all the passion you bring to the classes can really get contagious, and that´s the mark of a great teacher.

Ooohh also…the chats with other people were great. Again, I´m not really interested so I didn´t get the liking too much. But the majority of the group really liked them. So they must have really been interesting.

The Blogs

Aaahh… the blogs, if there´s one thing I really don´t enjoy are the blogs. I mean…I DID learned from them(point for the blogs) but making them

Resultado de imagen para meme adios vaquero
Continue reading "Course Review"

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"

Thank you, Ken Bauer

During this entire course we have been part of the flipped Learning project that Ken Bauer is trying to implement in Tecnológico de Monterrey. Flipped learning consists on students learning by themselves with the help of a teacher. This way, students see the teachers as someone more approachable and feel the need to ask the teacher more questions.

 

Each topic must be reviewed by the student at home. The basic  information about the topic can be provided by the teacher to impose a small lead. However, the student need to go further than what the teacher them. During class, the students share their discoveries with the teacher and pronounce their doubts.

 

In my opinion, these systems works perfectly fine as I believe I have learned more this way. Here, you are encouraged to keep learning even when the topic has already been reviewed in class. I usually read the information for class, but to the blog posts at last minute. This way, I can reread what I found earlier and even look for more information regarding on something I have missed before. And in case I have any doubt, I can always ask Ken, even if we were supposed to have discussed the topic a month ago.

 

Here is a video of some of my classmates and I,  giving our reviews on the curse: https://www.youtube.com/watch?v=TdTRLOi0J9Y&feature=youtu.be


Software Verification and Validation

Software Verification

The process of evaluating work-products of a development phase to determine whether they meet the specified requirements for that phase. Its objective is to ensure that the product is being built according to the requirements and design specifications. It evaluates the plans, requirement speculations, design speculations, code, test cases

Software Validation

The process of evaluating software at the end of the development process to determine whether it satisfies business requirements. Its objective is to ensure that the product will actually meet the user’s needs.

 

Summarizing, software verification is made during the process of creating the software for making sure the requirements will be meet, and software validation is done after the software is finished and it makes sure that all the requirements were met.


User Interface Design

User interface design is the visible part of a software. It focuses on anticipating what users might need to do and ensuring that the interface has elements that are easy to access, understand, and use to facilitate those actions.

Interface Elements

Interface elements are those elements that help the user interact with the software without complications. These can be:

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

It is important to consider that even though these elements make the navigation easier for the user, the excessive use of them can also make it harder.

Best practices for designing an Interface

  • Keep the interface simple
  • Create consistency and use common UI elements
  • Be purposeful in page layout
  • Strategically use color and texture
  • Use typography to create hierarchy and clarity
  • Make sure that the system communicates what’s happening
  • Think about the defaults

 

Never forget to keep in mind what the user wants. Sometimes your design might seem beautiful to you, but is no adequate for your users. (Something I learned from Interactive Design classes)

Usability. (s.f). User Interface Design Basics. November 23rd, 2016, from Usability Website: https://www.usability.gov/what-and-why/user-interface-design.html


Software Maintenance

Software is supposed to cover a user’s necessity and satisfy its requirements. For doing this, the software is supposed to evolve as the necessity itself evolves and new requirements start to surface. The process of finding new necessities and improving the software through time is called maintenance.

The purpose of maintenance is to:

  • Correct faults
  • Improve the design
  • Implement enhancements
  • Interface with the software
  • Adapt programs so that different hardware, software, system features, and telecommunications facilities can be used
  • Migrate legacy software
  • Retire software

The main characteristics of the maintainer’s activities are:

  • Maintaining control over the software’s day.-to-day functions
  • Maintaining control over software modifications
  • Perfecting existing functions
  • Identifying security threats and fixing the vulnerabilities
  • Preventing software performance from degrading

 

Types of maintenance

  1. Corrective maintenance: Correct discovered problems. It also covers emergency maintenance
  2. Adaptive maintenance: Performed after delivery to be sure that software remains effective
  3. Perfective maintenance: Modifications of a software after delivery to detect errors and latent faults.

 

Maintenance Processes

Software maintenance activities include:

  • Process implementation
  • Problem and modification analysis
  • Modification implementation
  • Maintenance review/acceptance
  • Migration
  • Software requirement