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.