Sunteți pe pagina 1din 6

Universidad Bolivariana de Venezuela

P.F.G. Informtica para la Gestin Social


U.C. Ingeniera del Software
Material Complementario
U.C. Ingeniera del Software

Actividades del ciclo de vida de desarrollo del software

Objetivo:
Analizar cada una de las actividades que se realizan durante el desarrollo de un software y conocer los
artefactos generados en cada una de ellas.
Contenido
Introduccin.................................................................................................................................................1
Actividades en el proceso de desarrollo de software....................................................................................2
1. Anlisis de requerimientos.......................................................................................................................2
2. Especificacin..........................................................................................................................................3
3. Diseo del software..................................................................................................................................4
4. Programacin o Construccin del software..............................................................................................4
5. Prueba del software..................................................................................................................................5
6. Prototipaje................................................................................................................................................5
7. Mantenimiento del software.....................................................................................................................6
Bibliografa..................................................................................................................................................6

Introduccin
La fabricacin de un producto de software lleva consigo un conjunto de pasos (proceso) y actividades,
(entre estas actividades estn la especificacin y el diseo); la forma como estas actividades se relacionan
una con otra define un modelo de desarrollo del software y la consecucin de un conjunto de pasos desde
el inicio de un software hasta la entrega del mismo se denomina proceso de produccin del software.
En esta gua se describen en las actividades en el proceso de desarrollo del software independiente de un
modelo particular. Estas actividades se integran en los modelos conocidos Desde el tradicional modelo de
la cascada hasta los modelos o enfoques actuales como el Proceso Unificado.

1
Actividades en el proceso de desarrollo de software
Las actividades utilizan y producen artefactos (Los artefactos son: los documentos de requerimientos,
diagramas de casos de uso, cdigo, mdulos, entre otros), dependiendo del modelo y mtodo utilizado se
organizan y realizan de diferentes formas. Dependiendo del modelo utilizado una actividad puede jugar
un papel preponderante o incluso no existir. A continuacin de cada actividad se mostraran los (artefactos
de entrada y los artefactos generados; cada actividad puede tener como entrada componentes reutilizables,
de all que stos se omiten.
Los componentes reutilizables son aquellos componentes del software que pueden ser reutilizados para la
construccin de otro tipo de software; por ejemplo: los casos de uso, mdulos de software, especificacin
de requerimientos.

1. Anlisis de requerimientos
El anlisis de requerimientos involucra: La Elicitacin, Comprensin,
Anlisis y Especificacin de, Cules funcionalidades y
cualidades son requeridas y cuales NO y Cmo lograrlas.

Que son los requerimientos?


Son descripciones de cmo el sistema debera comportarse, o de
una propiedad o atributo que deba tener el sistema. Constituyen
exigencias al inicio del proceso de desarrollo de un sistema. Los requerimientos son definidos desde las
primeras etapas del desarrollo de sistemas como una especificacin de lo que debera ser implementado.
Por lo tanto un requerimiento debera describir:
- La funcionalidad deseada por los usuarios.
- Un nivel de destreza del usuario (por ejemplo: el procesador de palabras debera incluir
comandos para correccin de palabras).
- Una caracterstica muy general del sistema (por ejemplo: el sistema debe asegurarse que la
informacin personal nunca est disponible a un usuario no autorizado).
- Una necesidad especfica del sistema (por ejemplo: el tiempo de respuesta de una operacin
debe ser inmediato).
- Una necesidad tecnolgica en el desarrollo del sistema (por ejemplo: el sistema se debe
desarrollar usando a Java). Gua 1_Anlisis de Requerimientos.
En esta actividad se identifica el problema, se reconoce el domino del problema, se interacta con los
stakeholders y se identifican los requerimientos del software a desarrollar, es en esta actividad donde se
genera el documento de requerimientos y se basa fundamentalmente en el establecimiento de un dilogo
continuo con los stakeholders involucrados dentro del proyecto. Esta es la actividad que nunca puede
faltar sea cual sea el modelo a utilizar para el desarrollo del software.
El documento generado debe ser analizado y confirmado por los Stakeholders (puede incluso incluir la
versin 0 del manual de usuario) y puede ser acompaado por el documento del plan de la prueba del
sistema. Define tanto requerimientos funcionales como no funcionales.

Cmo se relaciona el anlisis de requerimientos con las otras actividades en el proceso de desarrollo
del software?
La Ingeniera de Software establece actividades fundamentales que comprenden el: anlisis, diseo,
programacin, prueba y mantenimiento del Software. La etapa de anlisis es muy importante, ya que en
ella se genera una fluida comunicacin con el usuario y otros interesados en el sistema- y se revelan las
necesidades del sistema, se define el objetivo, los alcances, su factibilidad y se establecen todas las

2
funcionalidades. El proceso de desarrollo del software se basa en la documentacin producida en el
anlisis de requerimientos, y puede pensarse que es la entrada al proceso, sin embrago a lo largo del
mismo se pueden descubrir nuevos requerimientos, o se modifican, constituyendo un proceso iterativo en
este sentido.

En la figura anterior se muestran algunos de los posibles problemas generados por un mal anlisis de
requerimientos.

2. Especificacin
En forma amplia significa definicin; puede ser utilizada en diversas etapas del
desarrollo del software para diversos propsitos, es una declaracin del acuerdo
(contrato) entre el equipo de desarrollo y el usuario; donde se deben especificar
todas las cualidades deseadas.
Las especificaciones deben ser:

Precisas, claras y no ambiguas


Consistentes
Completas: la especificacin debe definir cualquier nuevo concepto o la terminologa que utiliza el
glosario provechoso para este propsito, debe documentar los requisitos necesarios.

3
Incrementales: referido al proceso de un documento incompleto y se agregan progresivamente los
detalles y referido al documento este esta estructurado y puede ser entendido por partes.
Las especificaciones pueden ser de tres tipos: informal, semiformal o formal

Semiformal: por ejemplo UML es una notacin semiformal para modelar programas orientados a objetos.
Formales: se expresan en una notacin matemtica con vocabulario, sintaxis y semntica precisos.
El desarrollo de especificaciones formales facilita una mejor comprensin de los requisitos del sistema
reduciendo errores y omisiones.
Proporcionan la base para un diseo elegante.
Las especificaciones formales pueden analizarse matemticamente:
o Consistencia.
o Especificaciones completas.
o Demostracin de que una implementacin corresponde a la especificacin.
Tipos
Especificacin algebraica.
o El sistema se describe en funcin de las operaciones de interfaz y sus relaciones.
Especificacin basada en modelos.
o La especificacin es un modelo del sistema.
o El modelo se construye con entidades matemticas como conjuntos o secuencias.
3. Diseo del software
El diseo (segn la IEEE.610.12_90) es el proceso de definir la arquitectura,
componentes, interfaces, y otras caractersticas de un sistema; y los resultados de tal
proceso.
Es la actividad en la cual los requerimientos del software son analizados y refinados
para producir una descripcin de la estructura interna del software que servir como
base para su construccin. El diseo describe la arquitectura del software, es decir como esta compuesto
el software, como se organizan estos componentes y las interfaces entre estos componentes.[2]
En esta actividad se toman los requerimientos especificados en la actividad anterior y se enriquece esta
informacin incorporando mayores detalles necesarios para la implementacin.
El diseo del software consiste en dos actividades que quedan entre el anlisis de requerimientos del
software y la construccin del software: Diseo arquitectnico del software: describiendo la estructura del
software y organizacin e identificando los diferentes componentes y el diseo detallado de los
componentes software: describiendo cada componente para su construccin. [2]

4. Programacin o Construccin del software


La programacin del software se refiere a la labor detallada de creacin del
software, como una combinacin de codificacin, verificacin, prueba de la
unidad, prueba de integracin y la eliminacin de errores. Dentro de los
fundamentos de la construccin del software tenemos: la reduccin al
mnimo de la complejidad, anticipacin del cambio, construccin para la
verificacin y el uso de estndares de construccin. [2]

Cuando se habla de codificacin o programacin nos estamos refiriendo al proceso mediante el cual se
toman las especificaciones del diseo y se construyen los componentes del programa, es decir, utilizando
un lenguaje de programacin se plasma en cdigo las diferentes caractersticas deseadas del software y ya

4
establecidas en la actividad anterior. Durante la verificacin se determina si en un software cumple
realmente con las especificaciones, es decir, si el software esta es confiable o correcto, en esta parte todos
los componentes del software desarrollados son verificados. La prueba de unidad y la prueba de
integracin durante la construccin del software son la forma de atacar anticipadamente los defectos que
se puedan presentar en el cdigo, evitando as que se avance en otras actividades del desarrollo del
software con errores de codificacin.

5. Prueba del software


Durante esta actividad se valida la calidad del producto con la finalidad de
mejorarla identificando los defectos y problemas que pueda presentar.
La prueba del software consiste en la verificacin del comportamiento de un
programa, se determina si el software se comporta de la forma esperada, es
decir, si el software es confiable (o correcto robusto). Esta actividad es
diferente de las pruebas estticas que se realizan durante la actividad de
construccin del software.
Tipos de pruebas
Prueba unitaria: Chequeo de componentes individuales
Prueba de integracin: es el proceso de verificar la interaccin entre los
componentes de software.
Prueba de modulo: Chequeo de colecciones de componentes dependientes
Prueba de sistemas: Se prueba el sistema como un todo
Prueba de aceptacin: Pruebas con datos del cliente para chequear las expectativas del usuario
La prueba es no es considerada una actividad que comience solamente despus que la fase de codificacin
comience, con el propsito limitado de detectar defectos. La prueba del software ahora se considera que
debe abarcar el desarrollo y el proceso entero de mantenimiento, y es s mismo una parte importante de la
construccin real del producto. [2]
6. Prototipaje
Esta actividad puede darse en conjunto con otras actividades, debido a que la generacin de los
prototipos puede ser de cualquier componente a generar dentro del proceso de desarrollo del
software. Los prototipos son los primeros componentes realizados en los laboratorios por el
equipo de desarrollo. Estos componentes deben ser verificados y validados para permitir la
mejora del mismo.
Mtodos y herramientas para el desarrollo de prototipos

Un prototipo es un modelo a escala o facsmil de lo real, pero no tan funcional para que
equivalga a un producto final, ya que no lleva a cabo la totalidad de las funciones
necesarias del sistema final, proporcionando una retroalimentacin temprana por parte de
los usuarios acerca del sistema.
El prototipo se usa para obtener los requerimientos del usuario, su principal propsito es
obtener y validar los requerimientos esenciales, manteniendo abiertas, las opciones de
implementacin. Esto implica que se deben tomar los comentarios de los usuarios, pero
tambin se debe volver a los objetivos para no perder la atencin.

5
Uno de los componentes que requiere ser prototipado es la Interfaz de Usuario (IU). La IU es la
parte visible de un sistema (hardware y software) que se muestra al usuario y los dispositivos que
permiten al usuario interactuar con el sistema. El desarrollo de la IU desde las primeras etapas es
de particular importancia en los sistemas interactivos. Este componente est ntimamente
relacionado con la usabilidad del producto de software.

7. Mantenimiento del software


Los esfuerzos del desarrollo del software dan lugar a la entrega de un producto de
software que satisfaga exigencias del consumidor. Por consiguiente, el producto
de software debe cambiar o desarrollarse. Una vez en operacin (o durante su
desarrollo), se descubre los defectos, los ambientes de funcionamiento cambian, y
las nuevas exigencias del consumidor emergen. Entre los objetivos del
mantenimiento de software estn:
Hacer que el sistema satisfaga los requerimientos de los usuarios a travs del tiempo.
Tomar todos los productos resultantes del proceso de desarrollo de software, para darles soporte y
evolucionarlos progresivamente a travs del ciclo de desarrollo de software. Es por esta
razn que el equipo de mantenimiento debe estar en estrecha relacin con el equipo de
desarrollo del producto. [2]
Durante esta actividad se suministra al usuario el soporte necesario para el producto entregado.
El Mantenimiento es la modificacin de un producto de software despus de haber sido entregado
(o en su desarrollo) para corregir defectos, mejorar su desempeo y otros de sus atributos, o bien
para adaptar el producto a cambios en su ambiente. De hecho, hoy se habla de evolucin del
software ms que de mantenimiento.
Las actividades de mantenimiento antes de la entrega consisten en:
Planeamiento para luego de la entrega
Planeamiento para mantenibilidad, y para logstica
Las actividades de mantenimiento luego de la entrega consisten en:
Modificacin de software
Entrenamiento
Operacin o interfaz con sistema de helpdesk

Bibliografa
1. [1]Gezzi Ghezzi &al, Fundamentals of Software Engineering. PrenticeHall. Cap.7
2. Sommerville . Requerimientos no funcionales. Addison Wesley 2002. Cap. 4
3. [2]SweboK. Gua del cuerpo de conocimientos de la Ingeniera del Software. Versin 2004.
http://www.swebok.org/
4. http://www.programacion.com/blogs/46_aprendiendostruts/archive/200410.html

S-ar putea să vă placă și