Programación de Software en General

Programación de Software en General

Programación de Software en General

Vamos a dejar un poco afuera el código de programación y conoceremos por medio de Scratch la programación de software en general, es importante conocer cuales son los pasos para realizar software, si tienen alguna duda o comentario referente a unos de los puntos aquí mencionados, pueden comentarlo y con gusto lo ampliaré.

 Ciclo de vida de una aplicación

El ciclo de vida de una aplicación donde madurara y se retirará contiene los siguientes ciclos:

  • Requerimientos
  • Diseño
  • Programación
  • Prueba
  • Mantenimiento

Requerimientos – Análisis de requerimientos

Es el proceso que determina los detalles de los requerimientos del negocio para el nuevo sistema de software.

Los requerimientos es el paso más importante ya que  se obtienen precisamente que es lo más critico para conseguir el éxito del proyecto. Los requerimientos  pueden ser funcionales o no funcionales, los funcionales son especificamente lo que el sistema va a estar diseñado; los no funcionales son aquellas cosas que agregan funcionalidad pero que no necesariamente es requerido, por ejemplo, que sea escalable, seguro, etc.

La persona involucrada es la analista de negocio.

Diseño

El proceso de diseño es usado para los planes, modelos y arquitectura, es el Cómo el software lo va a implementar.

El diseño genera procesos técnicamente detallados que pueden  ser usados por el programador. En esta parte se genera un conjunto de modelos que serán la guía para los miembros del equipo en crear el software.

Las personas involucrados en este proceso son:  El arquitecto y el usuario ( user-experience designer ).

Un arquitecto diseña un cianotipo ( blueprint ) esto incluye identificación de componentes y servicios, y como interactuaran con el mundo externo cada uno.

Un usuario ( user-experience designer ) es la persona que crea las experiencias del usuarios, esto incluye el diseño de Interfaces ( UI ) , diseña la navegación  entre formularios, pantallas o páginas, etc.

Programador

Es él que tiene la actividad de implementar el diseño y crear el software, base de datos y otras cosas relacionadas.

Las personas que se involucran son programadores, administradores de base de datos escritores técnicos y programadores de contenido.

El programador se apoya con el analista, el arquitecto y con  la experiencia del usuario.

El administrador de base de datos, es responsable de implementar y mantener la base de datos. También crear la integración de datos, seguridad y velocidad.

Los escritores técnicos, son las personas que escriben los manuales técnicos.

El programador de contenidos es la persona que llenará la información de la aplicación, por ejemplo si es una aplicación para reseñar películas, él es la persona que tendrá que llenar la aplicación con contenido interesante.

Prueba – Testing

El tester verifica que los requerimientos del sistema esten implementados.

El tester se asegura de la calidad final del producto, el tester puede identificar posible lagunas dentro del sistema y las expectativas que describe el documento de requerimientos ( Realizado en el paso de requerimientos ).

El administrador de liberación  tiene como actividad liberar y darle soporte al software liberado.

Las actividades del administrador de liberación son:

  • Administrar las liberaciones: Se coordina con varios equipos y unidades de negocio  en asegurar el tiempo de liberación del producto.

  • El personal de operación: El personal se asegura que el producto esté listos para viajar.

  • El personal de soporte técnico: El personal que interactua con los clientes y ayuda a resolver problemas del sistema.

Testing

El proceso de prueba es para verificar que el software cumpla con los requerimientos, Los testers toman su lugar después que los programador terminen.

Los tester al encontrar algún defecto ( bug ) se regresa para que sea corregido.

Los tester tienen pruebas funcionales y no funcionales.  Las funcionales son las que requiere el sistema, las que son el núcleo del sistema. Los no funcionales son aquellos atributos que no son parte del núcleo del sistema.

Métodos testing

Los métodos de testing estan divididos en dos categorías caja blanca ( white-box ) y caja negra ( black-box ) La caja negra se enfoca en las entradas y salidas. Mientras la caja blanca, el tester tiene conocimiento del sistema interno ( código fuente ).

Niveles de testing

Existen 5 niveles de pruebas:

  • Pruebas unificadas
  • Pruebas de integración
  • Pruebas de sistema
  • Pruebas de aceptación
  • Pruebas de regresión

Pruebas unificadas:  Las pruebas unificadas son las pruebas de caja blanca, lo cual se tiene el código fuente y puede hacer los cambios, en visual studio se puede utilizar con la herramienta Nunit.

Pruebas de integración: Las pruebas se realizan con todos los componentes realizados, si existe alguna interacción con otros sistemas externos como webservice, entonces se valida que funcione correctamente.

Pruebas de sistema: Se hacen todas las pruebas en el sistema en donde ya se encuentra todos los componentes integrados así como los externos.

Pruebas de aceptación: En este nivel las pruebas son realizadas por los mismos consumidores. Cuando se realizan pruebas en un pequeño grupo se le llama liberación alpha, en el cual se espera retroalimentación, generalmente en esta parte existen cosas no funcionales. Cuando se incrementa el grupo de personas para hacer pruebas entonces se llama Beta de igual manera se espera retroalimentación.

Pruebas de regresión: Las pruebas se efectúan cuando se reportan defectos y se necesitan arreglar, es muy importante hacer solucionar el problema sin tener que crear otros defectos.

Leave a Reply

Your email address will not be published. Required fields are marked *