Professional Documents
Culture Documents
Santiago Mario
Extensin Maturn
Escuela de Ingeniera en Sistemas
DESARROLLO DE SOFTWARE
Y
SUS MODELOS TRADICIONALES
SOFTWARE
Bsicamente se refiere al conjunto de programas o aplicaciones que se ejecutan en
el computador. Los programas son conjuntos de instrucciones relacionadas lgicamente,
escritas en un lenguaje de programacin formal (Pascal, C, C++, Visual Basic, Fortran,
Cobol, Java, otros). Quizs, lo que no se percata de manera obvia es que los programas
controlan la computadora (el hardware) para que realice las tareas que se requieren. Otro
aspecto que a veces no se percata de manera obvia, es que los lenguajes de programacin
tambin son software. Programas que permitan escribir otros programas.
Datos: este componente incluye los datos necesarios para manejar y probar los
programas y las estructuras requeridas para mantener y manipular estos datos.
Tipo de funcionalidad:
Software de sistemas - Tambin denominados como sistemas operativos este tipo de
software gestiona y administra el hardware del dispositivo electrnico as como la
ejecucin de otros programas. Windows, iOS, Linux o Solaris son ejemplos entre otros.
Ofimtico - Son todos los programas que facilitan las tareas de las labores de oficina
como por ejemplo hojas de clculo, editores de textos, diseo grfico, gestin de facturas,
puntos de venta, etc.
Ocio - Son todos los programas destinados al entretenimiento como los videojuegos,
reproductores de msica y vdeo, lectores de libros digitales, etc.
DESARROLLO DE SOFTWARE
Es importante saber cules son los requerimientos que la empresa tiene porque
muchas veces los sistemas se desarrollan pero no pensando en el cliente y es ah donde el
sistema no cumple o no satisface las necesidades que existen en la empresa, segn los
requerimientos se empieza a realizar el diagrama relacional todo debe de llevar una
secuencia lgica de las actividades, todo esto se realiza de manera manual para ver cmo
ser su diseo lgico y diseo de pantallas es en este paso donde se plasma todo y queda
perfectamente bien definido como va hacer la funcionalidad del sistema.
El segundo paso es el de diseo aqu entran todo el diseo del sistema es decir las
pantallas, base de datos, todo esto debe de cumplir con ciertos estndares los cuales se
toman en cuenta para poder desarrollar el diseo con calidad y as poder ofrecer un diseo
amigable en cuestin de colores, tamaos de botones, cajas de texto, etc.
El cuarto paso son las pruebas, es donde al sistema se pone a prueba como su
palabra lo dice para as poder saber cules son los posibles errores que se estn generando
del sistema y con ello mejorarlo para eliminar dichos errores.
UML
Lenguaje Unificado de Modelado (UML, por sus siglas en ingls, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software ms conocido y utilizado en
la actualidad. Es un lenguaje grfico para visualizar, especificar, construir y documentar un
sistema. Ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo
aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos
ORIGEN DE UML
de
facto
para
el
anlisis
el
diseo
orientado
objetos.
EVOLUCIN UML
Grady Booch y Jim Rumbaugh comenzaron a unificar sus
mtodos (Octubre, 1994).
Borrador de UML (versin 0.8) (Octubre, 1995)
Ivar Jacobson se une al proyecto (Noviembre, 1995).
UML 0.9 y se crea un consorcio (Junio, 1996)
OMG lanza una peticin para un lenguaje unificado (1996)
UML 1.0 es ofrecido al OMG (Enero, 1997)
Se extiende el consorcio (EneroJulio, 1997)
UML 1.1 es ofrecido al OMG (Julio, 1997)
OMG adopta UML 1.1 (Noviembre, 1997)
Se crea el UML RTF (1998)
Aparece UML 1.3 (Mayo 1999)
UML 2.0 en 2001 (se est revisando)
Un modelo de ciclo de vida del software describe las fases principales de desarrollo
de software, define las fases primarias esperadas de ser ejecutadas durante esas fases, ayuda
a administrar el progreso del desarrollo y provee un espacio de trabajo para la definicin de
un proceso detallado de desarrollo de software. En cada una de las etapas de un modelo de
desarrollo de software, se pueden establecer una serie de objetivos, tareas y actividades que
lo caracterizan. A continuacin se muestran algunos de los modelos tradicionales y ms
utilizados.
Modelo en cascada
Es el enfoque metodolgico que ordena rigurosamente las etapas del ciclo de vida
del software, de forma que el inicio de cada etapa debe esperar a la finalizacin de la
inmediatamente anterior. El modelo en cascada es un proceso de desarrollo secuencial, en
el que el desarrollo se ve fluyendo hacia abajo (como una cascada) sobre las fases que
componen el ciclo de vida.
1. Especificacin de requisitos
2. Diseo
3. Construccin (Implementacin o codificacin)
4. Integracin
5. Pruebas
6. Instalacin
7. Mantenimiento
Para seguir el modelo en cascada, se avanza de una fase a la siguiente en una forma
puramente secuencial.
Funciona bien para proyectos pequeos donde los requisitos estn bien entendidos.
Desventajas
Es muy restrictivo y no permite movilizarse entre fases, lo que puede llevar a una
mala implementacin del modelo.
Modelo en V
Existe una variedad de actividades que se han de realizar antes del fin de la fase de
codificacin. Estas actividades deberan ser llevadas a cabo en paralelo con las actividades
de desarrollo, y los tcnicos de pruebas necesitan trabajar con los desarrolladores y
analistas de negocio de tal forma que puedan realizar estas actividades y tareas y producir
una serie de entregables de pruebas. Los productos de trabajo generados por los
desarrolladores y analistas de negocio durante el desarrollo son las bases de las pruebas en
uno o ms niveles. El modelo en v es un modelo que ilustra cmo las actividades de prueba
(verificacin y validacin) se pueden integrar en cada fase del ciclo de vida. Dentro del
modelo en v, las pruebas de validacin tienen lugar especialmente durante las etapas
tempranas, por ejemplo, revisando los requisitos de usuario y despus por ejemplo, durante
las pruebas de aceptacin de usuario.
Modelo de desarrollo en V
Realmente las etapas individuales del proceso pueden ser casi las mismas que las
del modelo en cascada. Sin embargo hay una gran diferencia. En vez de ir para abajo de
una forma lineal las fases del proceso vuelven hacia arriba tras la fase de codificacin,
formando una v. La razn de esto es que para cada una de las fases de diseo se ha
encontrado que hay un homlogo en las fases de pruebas que se correlacionan.
Ventajas
Tiene una alta oportunidad de xito sobre el modelo en cascada debido al desarrollo
de planes de prueba en etapas tempranas del ciclo de vida.
Es un modelo que suele funcionar bien para proyectos pequeos donde los
requisitos son entendidos fcilmente.
Desventajas
Modelo iterativo
Es un modelo derivado del ciclo de vida en cascada. Este modelo busca reducir el
riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos
durante la etapa de recogida de requisitos. Consiste en la iteracin de varios ciclos de vida
en cascada. Al final de cada iteracin se le entrega al cliente una versin mejorada o con
mayores funcionalidades del producto. El cliente es quien despus de cada iteracin evala
el producto y lo corrige o propone mejoras. Estas iteraciones se repetirn hasta obtener un
producto que satisfaga las necesidades del cliente.
Este modelo se suele utilizar en proyectos en los que los requisitos no estn claros por parte
del usuario, por lo que se hace necesaria la creacin de distintos prototipos para
presentarlos y conseguir la conformidad del cliente.
Ventajas
No hace falta que los requisitos estn totalmente definidos al inicio del desarrollo,
sino que se pueden ir refinando en cada una de las iteraciones.
Puede realizar el desarrollo en pequeos ciclos, lo que permite gestionar mejor los
riesgos, gestionar mejor las entregas.
Desventajas
La primera de las ventajas que ofrece este modelo, es el no ser necesario tener los
requisitos definidos desde el principio, pero puede verse tambin como un
inconveniente ya que pueden surgir problemas relacionados con la arquitectura.
Desventajas
Para el uso de este modelo se requiere una experiencia importante para definir los
incrementos y distribuir en ellos las tareas de forma proporcionada.
Pueden surgir problemas referidos a la arquitectura del sistema porque no todos los
requisitos se han reunido, ya que se supone que todos ellos se han definido al inicio.
Modelo en espiral
La espiral se visualiza como un proceso que pasa a travs de algunas iteraciones con el
diagrama de los cuatro cuadrantes representativos de las siguientes actividades:
Crear planes con el propsito de identificar los objetivos del software, seleccionados
para implementar el programa y clarificar las restricciones en el desarrollo del
software.
Modelo de espiral con nfasis en los riesgos, haciendo hincapi en las condiciones de
las opciones y limitaciones para facilitar la reutilizacin de software, la calidad del software
puede ayudar como una meta propia en la integracin en el desarrollo del producto. Sin
embargo, el modelo en espiral tiene algunas limitaciones, entre las que destacan:
La primera fase es la bsqueda de un plan para conseguir los objetivos con las limitaciones
del proyecto para as buscar y eliminar todos los riesgos potenciales por medio de un
cuidadoso anlisis, y si fuera necesario incluyendo la fabricacin de un prototipo. Si es
imposible descartar algunos riesgos, el cliente ha de decidir si es conveniente terminar el
proyecto o seguir adelante ignorando los riesgos. Por ltimo, se evalan los resultados y se
inicia el diseo de la siguiente fase.
La tarea de anlisis de riesgos: para evaluar riesgos tanto tcnicos como de gestin.
Modelo de Prototipos
Ofrece visibilidad del producto desde el inicio del ciclo de vida con el primer
prototipo. Esto puede ayudar al cliente a definir mejor los requisitos y a ver las
necesidades reales del producto.
Desventajas
Con este modelo pueden surgir problemas con el cliente que ve funcionando
versiones del prototipo pero puede desilusionarse porque el producto final an no ha
sido construido. El desarrollador puede caer en la tentacin de ampliar el prototipo
para construir el sistema final sin tener en cuenta los compromisos de calidad y de
mantenimiento que tiene con el cliente.