Вы находитесь на странице: 1из 38

Trabajo Investigativo 01

Anlisis de sistemas

Presenta
David Camilo Snchez Mora
Camilo Andrs Frontado
Hctor Felipe Hurtado Acosta
Yojhan Rodriguez

Docente
Juan Carlos Guevara B.

Universidad Distrital Francisco Jos de Caldas


Sistematizacin de datos
Facultad tecnolgica
Bogot D.C Colombia

Agosto 22 de agosto de 2015

Contenido
2. Introduccin.3
3. Evolucin del software...4
4. Ciclo de vida del software.....7
4.1. Descripcin del ISO/IEC 12207-1...13
4.2. Descripcin del ISO/IEC 15504-2,..16
4.3. Descripcin del IEEE STD 107417
5. Conceptos..18
5.1. Ciclo de vida del software....18
5.2. Proceso de desarrollo de software.18
5.3. Metodologa de desarrollo de software..19
5.4. Proyecto de software.19
6. Proceso de desarrollo de software.19
6.1. Nombre19
6.2. Caractersticas....20
6.3. Etapas..21
6.4. Ejemplo explicativo.22
7. Metodologa de desarrollo de software 01.23
7.1. Nombre.23
7.2. Caractersticas.23
7.3. Etapas...24
7.4. Diagramas utilizados en cada etapa25
7.5. Ejemplo explicativo.27

8. Metodologa de desarrollo de software 0234


8.1. Nombre34
8.2. Caractersticas34
8.3. Etapas..35
8.4. Diagramas utilizados en cada etapa...36
8.5. Ejemplo explicativo.37
9. Conclusiones...38
10. Bibliografa.39

2. Introduccin

En el presente escrito se busca explicar la evolucin del software con cada una
de sus etapas, el proceso del ciclo de vida del software, sus estndares, su
importancia y los principales modelos para el desarrollo de software. Adems
se busca explicar el proceso y etapas del desarrollo de software, y junto a esto,
explicar dos metodologas de desarrollo de software la primera orientada a
proyectos grandes y estructurados y la segunda a proyectos agiles y novedosa
metodologas de trabajo. .

3. Evolucin del Software


Como bien se sabe, el software son los programas informticos que hacen que
sea posible la realizacin de determinadas tareas, como por ejemplo
programas como Word, Excel, Power Point, etc. Sin embargo, el software no
ha sido siempre tan efectivo, eficaz y accesible como lo es actualmente. La
evolucin del software est fuertemente marcado por cinco dcadas de
desarrollo que se han caracterizado por grandes avances tecnolgicos y
mejoras que han hecho que sea posible conocer el software como hoy en da lo
conocemos. A continuacin se exponen los cuatro importantes periodos en la
evolucin del software.

Primera etapa (1950-1965)

La primera era del software se dio durante el perodo entre 1950 y 1965. En
estos aos la tecnologa era muy limitada y la programacin, adems de que
no tena una amplia gama de mtodos para su desarrollo, era muy complicada
porque los programas se desarrollaban con base a elementos electrnicos,
hacindola un proceso manual.
Para hacer posible su uso, se desarrollaron tarjetas perforadas que fueron las
delegadas de guardar las instrucciones que un programador escoga. Estas
tarjetas se introducan en los grandes computadores de la poca, que eran
equipos que podan llegar a ocupar una habitacin entera y que su
procesamiento adems de ser en serie poda durar horas. La programacin se
basaba en el mtodo de prueba y error que hacan del desarrollo de software
una tarea ardua ya que sin una debida planificacin, hacan que la creacin de
un programa tomara demasiado tiempo. En esta poca, la evolucin de la
tecnologa se enfocaba en el hardware, s lo miramos desde una perspectiva
de costos solo las grandes empresas podan permitirse de estos centros de
cmputo provocando que el acceso para el pblico en general era casi
imposible.
Una de las principales caractersticas del software durante esta primer etapa es
que era personalizado y solo se poda usar en donde este fue desarrollado ya

que estas grandes maquinas se regan bajo un sistema operativo que era
personalizado para cada equipo. Esto a su vez complicaba la tarea de los
primeros programadores ya que tenan que conocer los distintos mtodos
nicos por cada mquina para poder hacer la relacin entre hardware y
software. Esto hacia provocaba que en otras palabras los software de la poca
no podan ser transferidos entre distintas maquinas.

Segunda etapa (1965-1975)

La segunda era en el desarrollo del software comenz en 1965 y se extendi


hasta 1975, en esta poca el desarrollo del software an era muy limitado, sin
embargo, un cambio importante que se dio es que se optimiz la interaccin
entre el usuario y la mquina. El hardware a su vez empez a ser cada vez
ms pequeo y de a poco ms accesible. Tambin las tarjetas perforadas
cumplieron su ciclo pero la programacin an segua siendo de bajo nivel, es
decir que sus instrucciones ejercen control directo al hardware. Comienzan
aparecer los sistemas multiprogramacin, que sustituan los sistemas lineales
de procesamiento de la era anterior.
Estos sistemas multiprogramacin se comprendan de varios procesadores que
cumplan varias tareas de un mismo programa, por eso tambin se les llaman
sistemas multitarea. Adems se comenzaron a desarrollar grandes avances en
los dispositivos de almacenamiento que condujeron a las primeras
generaciones de lo que despus se le conocera como bases de datos.
La principal caracterstica de la evolucin del software en esta era fue que los
programas empezaron a verse como productos, que ya se vendan a las
personas que tuvieran los equipos de cmputo que soportaran el software, es
decir a las personas o empresas que tuvieran el mismo sistema operativo. Otro
gran fenmeno que se dio en esta poca fue la aparicin del mantenimiento del
software porque la naturaleza personalizada de estos programas provocaba
que se tuvieran que adaptar constantemente segn nuevas necesidades.

Tercera etapa (1975 1989)

La tercera era en el desarrollo de software comenz en 1975 y finaliz en 1990,


este periodo es el de ms avance y desarrollo del software en la cual se
destaca primeramente el desarrollo de microprocesadores que facilitaron el
alcance que estos tenan hacindolo posible para el pblico en general. Sin
embargo, ms importante que los microprocesadores es la liberacin de una

nueva tecnologa militar conocida como ARPANET que ms tarde ser


conocida como INTERNET. Esta liberacin parcial de nuevas tecnologas se
debe al fin de la guerra fra y de la cada del muro de Berln. Estas dos grandes
tecnologas hicieron posible la mejora de la comunicacin que ya era un
aspecto completamente necesario en el caso de ARPANET y la reduccin de
costos y maquinas an ms pequeas en el caso de los microprocesadores.
Debido a esto, nuevos paradigmas surgieron, y se empezaron a manipular
estas nuevas pequeas redes locales y posteriormente globales que
manejaban terminales brutas conectadas a un servidor, cuyo objetivo principal
era el acceso a la informacin lo ms pronto posible.
En la programacin se comienza a ver la tecnologa orientada a objetos, que
aprovechaba las caractersticas de los lenguajes de programacin
estructurados. Para hacer esto posible, estos nuevos programas deban tener
dos principales particularidades; la primera, el programa deba tener una
entrada y una salida, y la segunda, no deban tener bucles o instrucciones de
cdigo sin ejecutarse. En esta poca tambin como caracterstica importante
es que se empieza a realizar la planificacin en el proceso del desarrollo del
software a lo cual se le conoce como ingeniera del software como solucin a la
crisis del software de las dcadas pasadas. La ingeniera del software se define
como el rea de la ingeniera que ofrece mtodos y tcnicas para desarrollar y
mantener software de calidad la cul trata con reas muy diversas de la
informtica y las ciencias de la computacin, tales como las construccin de
computadores y sistemas operativos, as como desarrollos intranet o internet.
A su vez las primeras generaciones de gestores de control de informacin
conocidos como bases de datos empiezan a surgir debido a gran importancia
que la informacin adquiere en esta poca.

Cuarta etapa (1990 Actualidad)

ARPANET sigui en un continuo desarrollo hasta como actualmente lo


conocemos como Internet y es prcticamente una herramienta esencial en la
sociedad hoy en da. Aparecen pginas y portales web con mltiples funciones
para realizar diversas tareas, adems del almacenamiento de la informacin y
la generacin de conocimiento. Aparecen los diferentes protocolos de Internet.
Con el avance de las tecnologas, la computadora al fin se vuelve personal y
evoluciona para estar en cada casa, luego se vuelve portable y los aparatos
pequeos como los telfonos celulares comienzan a desarrollar un software
que asimile el comportamiento de un ordenador. En el comienzo de la segunda
dcadas del siglo actual, los telfonos celulares inteligentes conocidos como
smarthphones se convierten en una alternativa muy importante, y el software
cumple un lugar esencial ya que se empieza dirigir a nuevos consumidores por
medio del desarrollo de apps y sistemas operativos para mviles. Diferentes
teoras como cliente/servidor y sistemas distribuidos comienzan a tomar
importancia y se adopta totalmente las prcticas de ingeniera de software
como requisito bsico a la hora del desarrollo de este.

4. Ciclo de Vida del Software

El ciclo de vida del software es un proceso en el cual se definen las fases,


actividades y tareas que sern necesarias para un buen desarrollo, explotacin
y mantenimiento de un producto de software. Abarca la vida del sistema desde
la definicin de los requisitos hasta la finalizacin de su uso. El propsito es
definir las distintas fases que se requieren para validar el desarrollo del
producto.
Existen dos procesos principales en el ciclo de vida de un software los cuales
se denominan proceso de adquisicin y proceso de suministro. Dentro de
estos se encuentran procesos especficos en los cuales se define un conjunto
de actividades segn su naturaleza.

1. Proceso de desarrollo I

Anlisis de requisitos del sistema


Diseo de la arquitectura del sistema
Anlisis de los requisitos del software
Diseo de la arquitectura del software
Diseo detallado del software
Codificacin y pruebas del software

2.

Proceso de desarrollo ll
Integracin del software
Pruebas del software
Integracin del sistema
Prueba del sistema

Instalacin del software


Soporte del proceso de aceptacin del software

3. Proceso de explotacin
4. Proceso de mantenimiento
5. Proceso de documentacin
6. Proceso de gestin de configuracin
7. Proceso de aseguramiento de calidad
8. Proceso de verificacin
9. Proceso de validacin
10. Proceso de revisin conjunta
11. Proceso de auditoria
12. Proceso de resolucin de problemas
13. Proceso de gestin
14. Proceso de infraestructura
15. Proceso de mejora
16. Proceso de formacin

Las tareas de estos diferentes procesos que conforman el ciclo de vida del
software pueden ser vistas desde un modelo de ciclo de vida del software.

DEFINICION DE UN MODELO DE CICLO DE VIDA


Un modelo de ciclo de vida de software es una vista de las actividades que
ocurren durante el desarrollo de software, intenta determinar el orden de las
etapas involucradas y los criterios de transicin asociadas entre estas etapas.
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 detallado proceso


de desarrollo de software.
As, los modelos por una parte suministran una gua para los ingenieros de
software con el fin de ordenar las diversas actividades tcnicas en el proyecto,
por otra parte suministran un marco para la administracin del desarrollo y el
mantenimiento, en el sentido en que permiten estimar recursos, definir puntos
de control intermedios, monitorear el avance.
Un modelo de ciclo de vida tiene diversas clasificaciones dependiendo el tipo y
la complejidad de proyecto se escoge el modelo ms apropiado.

Modelo Cascada
Este es el ms bsico de todos los modelos, y sirve como bloque de
construccin para los dems modelos de ciclo de vida. La visin del modelo
cascada del desarrollo de software es muy simple; dice que el desarrollo de
software puede ser a travs de una secuencia simple de fases. Cada fase tiene
un conjunto de metas bien definidas, y las actividades dentro de una fase
contribuyen a la satisfaccin de metas de esa fase o quizs a una
subsecuencia de metas de la fase. Las flechas muestran el flujo de informacin
entre las fases. La flecha de avance muestra el flujo normal. Las flechas hacia
atrs representan la retroalimentacin.
El modelo de ciclo de vida cascada, captura algunos principios bsicos:

Planear un proyecto antes de embarcarse en l.

Definir el comportamiento externo deseado del sistema antes de disear


su arquitectura interna.

Documentar los resultados de cada actividad.

Disear un sistema antes de codificarlo.

Testear un sistema despus de construirlo.

Una de las contribuciones ms importantes del modelo cascada es para los


administradores, posibilitndoles avanzar en el desarrollo, aunque en una
escala muy bruta.

Modelo De Desarrollo Incremental

Los riesgos asociados con el desarrollo de sistemas largos y complejos son


enormes. Una forma de reducir los riesgos es construir slo una parte del
sistema, reservando otros aspectos para niveles posteriores. El desarrollo
incremental es el proceso de construccin siempre incrementando
subconjuntos de requerimientos del sistema. Tpicamente, un documento de
requerimientos es escrito al capturar todos los requerimientos para el sistema
completo.

Note que el desarrollo incremental es 100% compatible con el modelo cascada.


El desarrollo incremental no demanda una forma especfica de observar el
desarrollo de algn otro incremento.

Modelo De Desarrollo Evolutivo

Mientras que la aproximacin incremental presupone que el conjunto completo


de requerimientos es conocido al comenzar, el modelo evolutivo asume que los
requerimientos no son completamente conocidos al inicio del proyecto.
En el modelo evolutivo, los requerimientos son cuidadosamente examinados, y
slo esos que son bien comprendidos son seleccionados para el primer
incremento. Los desarrolladores construyen una implementacin parcial del
sistema que recibe slo estos requerimientos.
El sistema es entonces desarrollado, los usuarios lo usan, y proveen
retroalimentacin a los desarrolladores. Basada en esta retroalimentacin, la
especificacin de requerimientos es actualizada, y una segunda versin del
producto es desarrollada y desplegada. El proceso se repite indefinidamente.

Modelo Espiral
El modelo espiral de los procesos software es un modelo del ciclo de metavida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como
uno completa un esfuerzo de desarrollo, otro comienza. Adems, en cada
desarrollo ejecutado, puedes seguir estos cuatros pasos:
Determinar qu quieres lograr.

Determinar las rutas alternativas que puedes tomar para lograr estas
metas. Por cada una, analizar los riesgos y resultados finales, y
seleccionar la mejor.
Seguir la alternativa seleccionada en el paso 2.
Establecer qu tienes terminado

Modelo de desarrollo Concurrente

La mayora de los modelos de procesos de desarrollo del software son dirigidos


por el tiempo; cuanto ms tarde sea, ms atrs se encontrar en el proceso de
desarrollo.

Un modelo de proceso concurrente est dirigido por las necesidades del


usuario, las decisiones de la gestin y los resultados de las revisiones. El
modelo de proceso concurrente se utiliza a menudo como el paradigma de
desarrollo de aplicaciones cliente/ servidor". Un sistema cliente/servidor se
compone de un conjunto de componentes funcionales. Cuando se aplica a
cliente/servidor, el modelo de proceso concurrente define actividades en dos
dimensiones:
Una dimensin de sistemas y una dimensin de componentes. Los aspectos
del nivel de sistemas se afrontan mediante tres actividades: diseo, ensamblaje
y uso.
En realidad, el modelo de proceso concurrente es aplicable a todo tipo de
desarrollo de software y proporciona una imagen exacta del estado actual de
un proyecto.

4.1 DESCRIPCIN DE ISO/IEC 12207-1

El ISO/IEC 12207 es el estndar para los procesos de ciclo de vida del


software de la organizacin ISO.
Este estndar se concibi para aquellos interesados en adquisicin de
software, as como desarrolladores y proveedores. El estndar indica una serie
de procesos desde la recopilacin de requisitos hasta la culminacin del
software.
El estndar comprende 17 procesos lo cuales son agrupados en tres
categoras:

Principales
de apoyo
de organizacin

Este estndar agrupa las actividades que se pueden llevar a cabo durante el
ciclo de vida del software en cinco procesos principales, ocho procesos de
apoyo y cuatro procesos organizativos. Cada proceso del ciclo de vida est
divido en un conjunto de actividades; cada actividad se sub -divide a su vez

en un conjunto de tareas.

Proceso de Adquisicin: Define las actividades del adquiriente, es


decir, la organizacin que adquiere un sistema, producto software o
servicio software.

El proceso contiene las actividades y tareas del adquiriente. El proceso


comienza con la identificacin de adquirir un producto software. El
proceso contina con la preparacin y publicacin de propuestas, la
seleccin de un proveedor y la gestacin del proceso de adquisicin
hasta la aceptacin del producto software
Este proceso consiste de las siguientes actividades:
a.
b.
c.
d.
e.

Inicio
Preparacin de la solicitud de propuestas
Preparacin y actualizacin del contrato
Seguimiento del proveedor
Aceptacin y finalizacin.

Proceso de Suministro: Se relaciona con las actividades del proveedor,


organizacin que proporciona sistema, producto o servicio software al
adquiriente.
El proceso de suministro contiene las actividades y tareas del proveedor.
El proceso se puede iniciar ya sea por la decisin de preparar una oferta
para contestar a una solicitud de propuestas de un adquiriente, o por la
firma e inicio de un contrato con el adquiriente para proporcionarle un
sistema, producto software o servicio software. El proceso contina con
la determinacin de los procedimientos y recursos necesarios para
gestionar y asegurar el proyecto, incluyendo la preparacin y ejecucin
de los planes del proyecto hasta la entrega al adquiriente del sistema,
producto o servicio software.
Este proceso consta de las siguientes actividades:
a. Inicio
b. Preparacin de la respuesta
c. Contrato
d. Planificacin
e. Ejecucin y control
f. Revisin y Evaluacin
g. Entrega y finalizacin

Proceso de Desarrollo: Define las actividades que tiene que llevar a


cabo el desarrollador, organizacin que define y desarrolla el producto
software.
El proceso de desarrollo contiene las actividades y tareas del
desarrollador. El proceso contiene las actividades para el anlisis de los
requerimientos, diseo, codificacin, integracin, pruebas e instalacin y
aceptacin relacionadas con los productos software. Puede contener
actividades a nivel de sistema si se estipula en el contrato. El
desarrollador lleva a cabo o soporta las actividades de este proceso de
acuerdo con el contrato.

Este proceso consta de las siguientes actividades

h.
i.
j.
k.
l.
m.

a. Implementacin del proceso


b. Anlisis de los requerimientos del sistema
c. Diseo de la arquitectura del sistema
d. Anlisis de los requerimientos software
e. Diseo de la arquitectura del software
f. Diseo detallado del software
g. Codificacin y pruebas del software
Integracin del software
Pruebas de calificacin del software
Integracin del sistema
Pruebas de calificacin del sistema
Instalacin del software
Apoyo a la aceptacin del software

Proceso de Operacin: Define las actividades del operador,


organizacin que proporciona el servicio, organizacin que proporciona
el servicio de operar un sistema informtico en su entorno real.
Este proceso contiene las tareas del operador. El proceso cubre la
operacin del producto software y el apoyo a la operacin de los
usuarios. Se deben considerar tanto la operacin del producto software
integrada a la operacin del sistema.
El operado hace uso de otros procesos a nivel de proyecto para llevar a
cabo su funcin:
- El proceso de gestin
- Proceso de infraestructura
A nivel de organizacin emplea los siguientes:
- El proceso de mejora de procesos
- Y proceso de recursos humanos
Este proceso consta de las siguientes actividades:
a.
b.
c.
d.

Implementacin del proceso


Pruebas de operacin
Operacin del sistema
Soporte de Usuario

Proceso de Mantenimiento: Define las actividades del responsable de


mantenimiento o la organizacin que se encarga de esta funcin; es
decir, la gestin de las modificaciones al producto para mantenerlo
actualizado y operativo.

El proceso de mantenimiento contiene las actividades y tareas del


responsable de mantenimiento. Este proceso se inicia cuando el
producto software sufre modificaciones en el cdigo y la documentacin
asociada, debido a un problema o a la necesidad de mejora o
adaptacin. El objetivo es modificar el producto software existente
preservando su integridad. Este proceso incluye la migracin y retirada
del producto software. El proceso termina con la retirada del producto
software.
El operado hace uso de otros procesos a nivel de proyecto para llevar a
cabo su funcin:
- El proceso de gestin
- Proceso de infraestructura
A nivel de organizacin emplea los siguientes:
- el proceso de mejora de procesos
- y proceso de recursos humanos
Este proceso consta de las siguientes actividades:
a.
b.
c.
d.
e.
f.

Implementacin del proceso


Anlisis de problemas y modificaciones
Implementacin de las modificaciones
Revisin/aceptacin del mantenimiento
Migracin
Retirada del software

4.2 DESCRIPCION DEL ISO/IEC 15504-2

ISO / IEC 15504-2: 2003 define los requisitos para la realizacin de la


evaluacin de proceso como base para su uso en la mejora del proceso y
determinacin de la capacidad.

Evaluacin de proceso se basa en un modelo de dos dimensiones que contiene


una dimensin de proceso y una dimensin de capacidad. La dimensin de
proceso es proporcionada por un modelo de referencia de proceso externo, que
define un conjunto de procesos que se caracterizan por las declaraciones de
los resultados de uso de procesos y procesos. La dimensin de la capacidad
consiste en un marco de medicin que comprende seis niveles de capacidad
del proceso y sus atributos de proceso asociados.

La salida de la evaluacin consiste en un conjunto de calificaciones de atributos


proceso para cada proceso de evaluacin, denominado el perfil de proceso, y
tambin puede incluir el nivel de capacidad alcanzado por ese proceso.

ISO / IEC 15504-2: 2003 identifica el marco de medicin de la capacidad del


proceso y los requisitos para:
a realizacin de una evaluacin;
Modelos de referencia proceso;
Modelos de evaluacin de proceso;
La verificacin de la conformidad de la evaluacin del proceso.
Los requisitos para la evaluacin de procesos definidos en la norma ISO / IEC
15504-2: 2003 forma una estructura que:
Facilita la autoevaluacin;
Proporciona una base para su uso en la mejora de procesos y la determinacin
de la capacidad;
Tiene en cuenta el contexto en el que se implementa el proceso de evaluar;
Produce una calificacin de proceso;
Aborda la capacidad del proceso para lograr su propsito;
Es aplicable en todos los dominios de aplicacin y tamaos de organizacin; y
Puede proporcionar un punto de referencia objetiva entre organizaciones.
El conjunto mnimo de requisitos definidos en la norma ISO / IEC 15504-2:
2003 garantiza que los resultados de la evaluacin son objetiva, imparcial,
consistente, repetible y representante de los procesos evaluados

4.3 DESCRIPCION DEL IEEE STD 1074

IEEE STD 1074. Esta norma define el conjunto de actividades que constituyen
los procesos que son obligatorios para el desarrollo y mantenimiento de
software. Los procesos de gestin y de apoyo que continan a lo largo de todo
el ciclo de vida, as como todos los aspectos del ciclo de vida del software
desde el concepto de exploracin a travs de la jubilacin, estn cubiertos.

Tambin se proporciona entrada asociada y la informacin de salida. Utilizacin


de los procesos y sus actividades componentes maximiza los beneficios para el
usuario cuando se inicia el uso de esta norma al principio del ciclo de vida del
software. Esta norma requiere definicin de ciclo de vida del software del
usuario y muestra su mapeo en los ciclos de vida del software tpicos. No se
pretende definir o implica un ciclo de vida del software propio.

5. Conceptos
5.1 Ciclo de vida del software
El ciclo de vida del software define el estado de las fases en el desarrollo de
software, desde la primera fase conocida como fase inicial hasta su finalizacin
conocido como fase final y posteriormente hasta que es obsoleto. El ciclo de
vida permite que los errores se detecten lo antes posible y por lo tanto, permite
a los desarrolladores concentrarse en la calidad del software, en los plazos de
implementacin y en los costos asociados.
5.2 Proceso de desarrollo de software
El proceso de desarrollo de software es una estructura que es aplicada al
desarrollo de software. Se puede dividir en varios modelos a seguir para
establecer un proceso sistematizado para un eficiente desarrollo de este; esto
significa que es el proceso que se sigue para la construccin, entrega y
evolucin del software, desde la concepcin de una idea hasta la entrega y el
retiro del sistema. Durante dcadas se ha tratado de conseguir el objetivo de
conseguir procesos reproducibles y predecibles que mejoren la productividad y
la calidad del software. Algunas de estas soluciones pretenden sistematizar o
formalizar la que es considerada frecuentemente desorganizada y ardua tarea
del desarrollo de software. Tiene como propsito la produccin eficaz y
eficiente de un producto software que rena los requisitos del cliente. Este
proceso es intensamente intelectual, afectado por la creatividad y juicio de las
personas involucradas. Aunque un proyecto de desarrollo de software es
equiparable en muchos aspectos a cualquier otro proyecto de ingeniera, en el
desarrollo de software hay una serie de desafos adicionales, relativos
esencialmente a la naturaleza del producto obtenido.

5.3 Metodologa de desarrollo de software


La metodologa de desarrollo de software es un marco de trabajo en el cual se
impone un proceso disciplinado, estructurado y planificado sobre el desarrollo
de software con el objetivo de poder hacer este an mucho ms predecible y
eficiente. Esto se consigue a travs de un proceso ms detallado que el
convencional en el cual su nfasis es en la planificacin que generalmente es
aplicado en otras ramas de la ingeniera.

Hoy en da existen numerosas propuestas metodolgicas que inciden en


distintas dimensiones del proceso de desarrollo. Un ejemplo de ellas son las
propuestas tradicionales centradas especficamente en el control del proceso
pero estas a travs de la experiencia han mostrado no ser suficientemente
eficientes porque en algunos casos no se conocen con exactitud los requisitos
como pasa en proyectos voltiles.
Para enfrentar estos problemas surgen nuevas metodologas lo cual buscan el
equilibrio entre ningn y demasiado proceso. Ejemplo de nuevas metodologas
son el proceso unificado de desarrollo (RUP), programacin extrema XP lo cual
busca la satisfaccin del cliente entre otras.
5.4 Proyecto de software
Un proyecto de software es una iniciativa que tiene como objetivo la realizacin
y sistematizacin de un programa para computador o servidor web y en el cual
participan factores como personal especializado, tiempo, recursos econmicos
y herramientas de desarrollo. Se realiza identificando los requerimientos del
software a partir de las necesidades provenientes del cliente que se deben
satisfacer. La definicin cubre aspectos funcionales del proyecto y los atributos
de calidad que debe tener en trminos de desempeo, facilidad de uso,
confiabilidad, seguridad, y facilidad de mantenerlo a lo largo del tiempo.
Teniendo claro estos elementos, la definicin se complementa con los modelos
de arquitectura que puede garantizar el xito de un proyecto de software desde
el punto de vista tcnico.

6. Proceso de desarrollo de software


6.1 Nombre
Un proceso de desarrollo de software tiene como propsito la produccin eficaz
y eficiente de un producto software que rena los requisitos del cliente. Este
proceso es intensamente intelectual, afectado por la creatividad y juicio de las
personas involucradas. Aunque un proyecto de desarrollo de software es
equiparable en muchos aspectos a cualquier otro proyecto de ingeniera, en el
desarrollo de software hay una serie de desafos adicionales, relativos
esencialmente a la naturaleza del producto obtenido.
El proceso de desarrollo de software no es nico. No existe un proceso de
software universal que sea efectivo para todos los contextos de proyectos de
desarrollo. Debido a esta diversidad, es difcil automatizar todo un proceso de
desarrollo de software.

6.2 Caractersticas
Las caractersticas de un proceso de software se resumen a continuacin:
Comprensin: Este requiere claridad y declaracin de la naturaleza explicita de
la definicin del proceso.
Visibilidad: Se refiere a la capacidad de observar la salida de arias actividades
del proceso, de manera que se mida el proceso del progreso.
Confiabilidad: Se refiere a la capacidad del proceso para evadir errores o
detectar errores y manejarlos antes de que estos avancen en el producto.
Robustez: Se refiere a la capacidad del proceso de no detenerse a pesar de
problemas inesperados.
Facilidad de mantenimiento: Se refiere a la cantidad de modificaciones que
pueden hacerse al sistema de software sin introducir errores.
Facilidad de verificacin: Un proceso es verificable si sus propiedades
pueden ser fcilmente verificadas.
Rapidez: Se refiere a la agilidad y rapidez del proceso para ser capaz de
entregar un producto final a partir de las especificaciones.
Facilidad de soporte: Se refiere a la posibilidad de que las actividades del
proceso sean soportadas por un conjunto de herramientas automatizadas.
Facilidad de aceptacin: Se refiere a la capacidad del proceso a ser aceptado
y usado por el equipo de ingenieros.
Facilidad de adaptacin: Se refiere a la capacidad del proceso a ser
modificado para satisfacer las necesidades de cambio en el ambiente de
desarrollo.

6.3 Etapas

Despus de haber discutido las caractersticas del proceso de desarrollo de


software, se presenta a continuacin las diferentes fases del proceso de
desarrollo de software.
Etapa de definicin: esta fase se concentra principalmente en definir los
requerimientos, actividades, materiales y costos del software.
Etapa de desarrollo: esta fase enfoca en el cumplimiento de los
requerimientos del sistema diseo y construccin del software.
Etapa de mantenimiento esta etapa se enfoca en cambio, el mantenimiento
incluye la correccin de errores y la adaptacin, conforme evoluciona el entorno
del software.

6.4 Ejemplo Explicativo:


Un proceso de software detallado y completo suele llamarse Metodologa. Las
metodologas se basan en una combinacin de los modelos de proceso
genricos (cascada, evolutivo, incremental, en espiral, etc.). Adicionalmente
una metodologa debera definir con precisin los artefactos, roles y actividades
involucrados, junto con prcticas y tcnicas recomendadas, guas de
adaptacin de la metodologa al proyecto, guas para uso de herramientas de
apoyo, etc. Habitualmente se utiliza el trmino mtodo para referirse a
tcnicas, notaciones y guas asociadas, que son aplicables a algunas
actividades del proceso de desarrollo, por ejemplo, suele hablarse de mtodos
de anlisis y/o diseo. La comparacin y/o clasificacin de metodologas no es
una tarea sencilla debido a la diversidad de propuestas y diferencias en el
grado de detalle, informacin disponible y alcance de cada una de ellas. A
grandes rasgos, si tomamos como criterio las notaciones utilizadas para
especificar artefactos producidos en actividades de anlisis y diseo, podemos
clasificar las metodologas en dos grupos: Metodologas Estructuradas y
Metodologas Orientadas a Objetos. Por otra parte, considerando su filosofa de
desarrollo, aquellas metodologas con mayor nfasis en la planificacin y
control del proyecto, en especificacin precisa de requisitos y modelado,
reciben el apelativo de Metodologas Tradicionales (o peyorativamente
denominada Metodologas Pesadas, o Peso Pesado). Otras metodologas,
denominadas Metodologas giles, estn ms orientadas a la generacin de
cdigo con ciclos muy cortos de desarrollo, se dirigen a equipos de desarrollo
pequeos, hacen especial hincapi en aspectos humanos asociados al trabajo
en equipo e involucran activamente al cliente en el proceso. A continuacin se
revisan brevemente cada una de estas categoras de metodologas.

7. Metodologa de desarrollo de Software 01


7.1 Nombre
La primera calificacin que se le puede dar a las metodologas de desarrollo
son los mtodos estructurados. Estos se comenzaron a desarrollar a finales de
los aos setenta con la saliente programacin estructurada y luego tiempo
despus a mediados de los aos setenta aparecieron tcnicas para el diseo
como fue en primer caso los diagramas de estructura y consecutivamente para
un correcto anlisis, los diagramas de flujo de datos. Estas metodologas son
particularmente apropiadas en proyectos que utilizan para la implementacin
lenguajes de tercera y cuarta generacin.
A continuacin se exponen los ejemplos ms comunes de metodologas
estructuradas de mbito gubernamental:
-

SSADM (Reino Unido)


MERISE (Francia)
MTRICA (Espaa)

A su vez, ejemplos de propuestas de mtodos estructurados en el mbito


acadmico:
- Yourdon & DeMarco
- Gane & Sarson
- Ward & Mellor
- Information Engineering
7.2 Caractersticas
- Tiene como objetivo emplear las metodologas de anlisis y diseo
estructurado que logran incrementar la productividad en el desarrollo e
implementacin de sistemas de informacin.
- Crea los modelos de forma ascendente. Son las orientadas a procesos, a
datos y a las mixtas.
- Utiliza varias herramientas como diagramas de flujo (DFD) en la cual
representan la forma en que los datos se mueven y se transforman. A sus
vez implementa lo que es conocido como diccionario de datos.
- Podemos encontrar que esta metodologa se subdivide en metodologas
orientadas a procesos y orientadas a datos manteniendo su base de
metodologa estructurada
- Es particionada, esto significa que a fin de manipular de una mejor manera la
inherente a un proyecto, la metodologa se divide en fases.
7.3 Etapas
Para explicar las etapas de la metodologa estructurada, se tomar como
referencia la propuesta por DeMarco.

Pasos metodologa DeMarco

1. Estudio del entorno fsico actual: Esto significa desarrollar un modelo del
sistema actual con sus procedimientos a travs de la herramienta que esta
metodologa dispone conocida como DFD.
2. Derivacin del correspondiente modelo lgico actual: Se refiere a un modelo
derivado del anterior desarrollado sin connotacin fsica.
3. Derivacin del nuevo modelo lgico: Una vez realizado lo anterior, se debe
tomar en cuenta las nuevas necesidades. Formado por un DFD, diccionario
de datos y especificaciones de proceso del sistema.
4. Crear un conjunto de modelos fsicos: A partir del nuevo modelo lgico se
comienzan a crear alternativas para poder evaluar y escoger el ms
conveniente.
5. Valorar cada opcin: Una vez se estudien estas alternativas se pasa a
estimar los costos y beneficios de los modelos lgicos.
6. Seleccionar una opcin: Finalmente una vez realizado lo anterior, se
selecciona el modelo fsico ms adecuado.
7. Empaquetar la especificacin: Como ltimo paso se recopila toda la
documentacin.

7.4 Diagramas utilizados en cada etapa

El siguiente diagrama muestra todos los diferentes diagramas que se utilizan


en el desarrollo de un modelo estructurado.

Como primer parte se encuentra el modelo ambiental, donde se define que


forma parte del sistema y que no. Como figura importante entra el diagrama de
contexto donde se definen las personas, organizaciones o sistemas con el que
el sistema se comunica.

La lista de eventos que es una lista narrativa de los estmulos que ocurre en el
mundo exterior.

De base a esta lista de eventos, se procede con la creacin de DFDs para cada
evento. Como resultado se da el DFD preliminar.

La creacin del modelo de datos es una actividad que puede ser hecha en
paralelo o tambin anteceder a la creacin del DFD preliminar.

Como ejemplo siguiente un DFD que explica como procesar el pedido de los
clientes, validando su estado de cuenta, verifica la existencia de la mercanca y
se hacen validaciones en caso de ingresar datos errneos.

7.5 Ejemplo explicativo


Se toma como referencia una administracin hotelera, en la cual como primera
medida se definen los objetivos funcionales como lo son: la administracin de
informacin de reservas, pasajeros, tarifas y ocupacin habitaciones,
facturacin online, informes semanales de servicios y facturacin.
Una vez hecho esto se realiza la lista de eventos para el caso de estudio en el
cual se toma la siguiente lista:
1. Un pasajero realiza un pedido de reserva
2. Un pasajero acepta la reserva
3. Un pasajero paga la reserva
4. Un pasajero cancela la reserva
5. Un pasajero se presenta para alojarse
6. Un pasajero informa que se retira
7. Un pasajero paga la factura
8. El concesionario entrega factura por consumicin
9. Es hora de confeccionar el informe para el concesionario y pagar (C.t.: ha
pasado una semana desde el ltimo informe)

Una vez teniendo claro los objetivos y la lista de eventos se puede decir que se
comprende un poco ms el problema que se ha tenido desde el principio. De
aqu sale el desarrollo del diagrama de contexto.

Otro

elemento importante es la creacin del diccionario de datos que es una


herramienta fundamental para el modela de sistemas. Existen muchas
notaciones sin embargo para realizar este proceso pero la que se presenta a
continuacin es la ms comn.

Para la el modelado de la base de datos, se da un sistema popularmente


conocido como modelo entidad/relacin, en el cual se establecen los atributos y
las relaciones entre diferentes clases.
Un modelo entidad/relacin puede estar definido por distintas caractersticas y
distintas notaciones, sin embargo a continuacin se expone uno comnmente
utilizado. En este modelo solo se usa Cliente y articulo y no significa que est
incompleto, es solo uno de los casos que se presentaran en el sistema de
informacin.

A su vez tambin es
importante
el proceso de la especificacin de procesos que es una herramienta que
presenta un modo prctico de describir una funcin que debe ser ejecutada por
un proceso, sin que sea necesario extenderse demasiado sobre el algoritmo o
procedimiento.

Una vez comprendido ms el problema mediante el diagrama de contexto, se


debe realizar el DFD por cada uno de los eventos.

Luego de desarrollar un diagrama por cada evento se deben conectar los


diagramas en uno nico, agregando los repositorios necesarios entre los datos
que una burbuja produce y que otra consume. Conviene tener en cuenta en
este paso, que toda informacin entrante a un proceso que no proviene del
medio ambiente externo, debe provenir necesariamente de un
almacenamiento. Por otra parte, toda informacin generada que no se emita
directamente al medio ambiente, deber almacenarse. Este paso puede
apoyarse tambin en la construccin de un modelo de datos y en los objetos
candidatos a memoria esencial observados en la lista de eventos, para
identificar los repositorios de datos. En el caso de estudio, los repositorios
identificados son: Reservas, Habitaciones, Pasajeros, y Servicios

Es necesario observar que el DFD resultante se compone de un solo nivel con


un proceso por cada uno de los eventos. Para un sistema mediano o grande el
DFD preliminar contendr demasiados procesos y se presentar
probablemente muy desnivelado, estando representados diferentes niveles de
abstraccin de manera simultnea. Para mejorar su comprensin, precisamos
subdividirlo realizando abstracciones.

8. Metodologa de desarrollo de Software 02


8.1 Nombre
Scrum es una metodologa gil y flexible para gestionar el desarrollo de
software, cuyo principal objetivo es maximizar el retorno de la inversin para su
empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor
para el cliente y en los principios de inspeccin continua, adaptacin, autogestin e innovacin.

Con la metodologa Scrum el cliente se entusiasma y se compromete con el


proyecto dado que lo ve crecer iteracin a iteracin. Asimismo le permite en
cualquier momento realinear el software con los objetivos de negocio de su
empresa, ya que puede introducir cambios funcionales o de prioridad en el
inicio de cada nueva iteracin sin ningn problema.
Esta metdica de trabajo promueve la innovacin, motivacin y compromiso del
equipo que forma parte del proyecto, por lo que los profesionales encuentran
un mbito propicio para desarrollar sus capacidades.

8.2 caractersticas:
- Adoptar una estrategia de desarrollo incremental, en lugar de la
planificacin y
ejecucin completa del producto.
- Basar la calidad del resultado ms en el conocimiento tcito de las personas
en equipos auto organizados, que en la calidad de los procesos empleados.
- Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una
tras otra en un ciclo secuencial o de cascada.
- Flexibilidad a cambios. Gran capacidad de reaccin ante los cambiantes
requerimientos generados por las necesidades del cliente o la evolucin del
mercado. El marco de trabajo est diseado para adecuarse a las nuevas
exigencias que implican proyectos complejos.
- Reduccin del Time to Market. El cliente puede empezar a utilizar las
caractersticas ms importantes del proyecto antes de que est completamente
terminado.
- Mayor calidad del software. El trabajo metdico y la necesidad de obtener
una versin de trabajo funcional despus de cada iteracin, ayuda a la
obtencin de un software de alta calidad.
- Mayor productividad. Se logra, entre otras razones, debido a la eliminacin
de la burocracia y la motivacin del equipo proporcionado por el hecho de que
pueden estructurarse de manera autnoma.
- Maximiza el retorno de la inversin (ROI). Creacin de software solamente
con las prestaciones que contribuyen a un mayor valor de negocio gracias a la
priorizacin por retorno de inversin.
- Predicciones de tiempos. A travs de este marco de trabajo se conoce la
velocidad media del equipo por sprint, con lo que es posible estimar de manera
fcil cuando se podr hacer uso de una determinada funcionalidad que todava
est en el Backlog.
- Reduccin de riesgos El hecho de llevar a cabo las funcionalidades de
mayor valor en primer lugar y de saber la velocidad a la que el equipo avanza
en el proyecto, permite despejar riesgos efectivamente de manera anticipada.

8.3 etapas

8.4 Diagrama Utilizado en Cada Etapa

8.5 ejemplo explicativo

9. Conclusiones

Desde el nacimiento del software este siempre ha estado en constantes


cambios y transformaciones ya sea en su estructura y su forma de
desarrollar y como se expuso se dieron distintos problemas en el
desarrollo de software que hacen ahora que este procedimiento no sea
un trabajo sencillo de realizar. Por el contrario es todo un proceso que
implica tiempo y costes para su desarrollo y que si no se cuenta con una
planificacin pre-establecida las posibilidades de que el proyecto fracase
son mayores.

Definir el ciclo de vida del software es una parte esencial para el manejo
de proyectos ya que gracias a sus fases podemos orientarnos para crear
estrategias y actividades ptimas para un buen desarrollo.
Las metodologas de desarrollo de software son herramientas muy
importantes para la construccin de nuevo software, ya que permiten

estandarizar su creacin y as reducir fallos en un porcentaje menor,


mejorar su estructura e identificar parte por parte las funcionalidades del
mismo para entregar ptimos resultados al solicitante del mismo

Para llegar a ser un sobresaliente profesional en el desarrollo de


software se debe ser consciente de que es una tarea que aunque
parezca ardua, puede garantizar resultados predecibles apuntados al
xito que pueden garantizar que el desarrollo de software sea una labor
gratificante.

10 Bibliografia
-

Metodologia para desarrollo de software


http://procesosdesoftware.wikispaces.com/METODOLOGIAS+PARA+DE
SARROLLO+DE+SOFTWARE
Ciclo de vida del software
file:///C:/Users/Invitado/Downloads/Ciclos%20de%20Vida
%20Sofware.pdf
Ciclo de vida del software
http://www.ctr.unican.es/asignaturas/is1/is1-t02-trans.pdf
Ciclo de vida del software
http://es.ccm.net/contents/223-ciclo-de-vida-del-software
Modelo de desarrollo
http://modelosdrayevolutivos.blogspot.com/2008/10/modelo-dedesarrollo-concurrente.html
ISO/IEC 15504-2:2003
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?
csnumber=37458
Procesos de desarrollo
https://es.wikiversity.org/wiki/Procesos_de_desarrollo_software
Metodologa de desarrollo
https://es.wikipedia.org/wiki/Metodologa_de_desarrollo_de_software
metodologa Scrum
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/17885/1/mtrigas
TFC0612memoria.pdf