Documente Academic
Documente Profesional
Documente Cultură
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.
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:
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]
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.
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.
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