CICLO DE LA VIDA DEL SOFTWARE

ETAPA DE PLANTEAMIENTO DEL PROBLEMA

Antes de empezar un proyecto de desarrollo de un sistema de información, es necesario hacer ciertas tareas que influirán decisivamente en el éxito del mismo .Algunas de las tareas incluyen actividades como:

La determinación del ámbito del proyecto

La realización de un estudio de viabilidad

El análisis de los riesgos asociados,

La estimación del coste del proyecto,

Su planificación temporal

La asignación de recursos a las diferentes etapas del proyecto.

ETAPA DE ANÁLISIS

Se hace el proceso
de levantamiento de las necesidades del cliente para
posteriormente estudiarlas y así brindar una solución de
software que cubra dichas necesidades.

REQUERIMIENTOS

Son las necesidades y solicitudes del cliente,
personas interesadas o involucradas de alguna manera en el
software.

REQUISITOS

Corresponde a los requerimientos del cliente
transformados en funcionalidades, características o
restricciones del sistema a construir, "lo qué el sistema debe
hacer".

CARACTERÍSTICAS

Único: Los requisitos deben ser únicos, no pueden
ser duplicados.

Correcto: El requisito debe poderse realizar, debe
ser técnica y legalmente posible.

Consistente: Los requisitos no deben entrar en
conflicto con otros requisitos ya existentes.

Verificable: Se debe poder verificar qué el sistema
cumple con lo definido en el requisito.

Rastreable: Se debe poder hacer trazabilidad al
requisito para verificar referencia con otros
elementos.

Claro: Los requisitos deben ser claros, no
ambiguos y que no generen confusión al momento
de leerlos.

Positivo: Al momento de redactar el requisito debe
hacerse de forma afirmativa.

Factible: El requisito debe ser posible de realizar
dentro del alcance y costo del proyecto.

Independiente del diseño: El requisito no
depende del diseño del sistema de información

Completo: Al momento de redactarlo el requisito
debe poder expresar una idea total.

Breve: El requisito debe ser puntual, pero no a
costa de la calidad del mismo.

Priorizado: Se debe dar prioridad a los requisitos
con el fin de garantizar su organización.

TIPOS

REQUISITOS FUNCIONALES

Representan esas funcionalidades
con las que debe contar el sistema, qué es lo que el
sistema debe hacer o cual va a ser ese
comportamiento.

SUBCATEGORIAS

REQUISITOS DE USUARIO

Describe como el usuario
interactuará con el sistema

REQUISITOS DEL SISTEMA

Describe las funciones,
restricciones u acciones qué el
sistema deberá hacer.

REGLAS DE NEGOCIO

Estás
reglas condicionan los
requisitos anteriores, son la
razón de ser de los requisitos.

CLASIFICACION

Cuando se tienen claramente definidos los requisitos que va
a tener el sistema, es muy importante clasificarlos
facilitando así su organización y prioridad, asignando un número y una convención al requisito del tipo (RF# - Nombre Requisito), las cuales se organizaran en una tabla.

Luego de tener ya definidos los requisitos funcionales en
la tabla anterior, se puede procederá a especificarlos en una nueva tabla, dando una descripción más clara de qué consiste la funcionalidad.

Estas tablas se organizaran en un documento conocido
como el documento de especificación de requisitos de
software(ERS).

REQUISITOS NO FUNCIONALES

Representan los atributos o estándares de calidad que el sistema debe tener en cuanto a su funcionamiento.

CATEGORIA

REQUISITOS DEL PRODUCTO

Características propias del producto en cuanto a
usabilidad, eficiencia, velocidad, confiabilidad, portabilidad...

REQUISITOS DESEMPEÑO

Tiempos de respuesta, transacciones o procesos por segundo, manejo de errores...

REQUISITOS EXTERNOS

Aspectos normativos, interoperabilidad con otros sistemas, leyes, aspectos éticos...

REQUISITOS DE SEGURIDAD

Confidencialidad, integridad de la información. perfiles de usuario.

REQUISITOS DE LA ORGANIZACIÓN

Políticas existentes en la organización del cliente, normatividad de la empresa, lenguajes de programación,
herramientas.

CLASIFIFCACIÓN

Se deben clasificar los requisitos no funcionales con el fin de facilitar tanto su entendimiento como su categoría, en este caso se puede seguir el mismo esquema de convención (RNF# - Nombre Requisito).

En este caso el nivel de detalle lo define cada proyecto por ende se recomienda realizar una sola tabla donde se ingrese un atributo o estándar de calidad (Usabilidad, Eficiencia...) donde se nombrara la convención del requisito y una descripción del mismo.

Esta tabla se organizaran en un documento conocido
como el documento de especificación de requisitos de
software(ERS).

REQUISITOS TECNICOS

Este tipo de requisitos no tiene que ver con el comportamiento del sistema sino con lo necesario para que se pueda dar ese comportamiento, además se deben contemplar aspectos como el o los sistemas operativos en los que va a ejecutarse el producto de software, lenguaje de programación, espacio de memoria, bases de datos entre otros.

CLASIFICACIÓN

La clasificación de estos requisitos es igual a la de las
clasificaciones anteriores y por ende su gestión también va a
depender del proyecto o de la metodología que se utilice
para este fin.

Al momento de nombrar los requisitos se puede plantear la
convención (RT# - Nombre Requisito)

En la primera tabla se recomienda dar una prioridad y una
descripción lo suficientemente clara y concisa donde se ingresara la funcionalidad con su convención y tipo de funcionalidad (esencial, ideal, opcional).

En la siguiente tabla se explicara a detalle cada funcionalidad con su convención. su especificación de prioridad (alta, mediana, baja)

Estas tablas se organizaran en un documento conocido
como el documento de especificación de requisitos de
software(ERS).

ETAPA DEL DISEÑO

Se estudian posibles opciones de implementación para el software que hay que construir, así como decidir la estructura general del mismo. El diseño es una etapa compleja y su proceso debe realizarse de manera iterativa.

ETAPA DE IMPLEMENTACIÓN

Se eligen las herramientas adecuadas, un entorno de desarrollo que facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a construir.

ETAPA DE PRUEBAS

Se busca detectar los fallos cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo antes de que el usuario final se los encuentre. Se dice que una prueba es un éxito si se detecta algún error.

ETAPA DE IMPLATANCION

Se pone el software en funcionamiento, por lo que hay que planificar el entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes del mismo.