SlideShare una empresa de Scribd logo
1 de 4
UNIVERSIDAD FERMIN TORO DISEÑO DE SOFTWARE
FACULTAD DE INGENIERIA SECCIÒN: SAIA A
DEPTO. DE PROGRAMACIÒN PROF: ADRIANA BARRETO
CABUDARE – EDO. LARA
ENSAYO SOBRE SOFTWARE
El software trae consigo muchas definiciones, de las cuales se encuentra y
se entiende que:
“Es el conjunto de programas y procedimientos que hacen posible las
operaciones de un computador o sistema en conjunto de su hardware siendo este
último los componentes físicos que ejecuta las tareas enviadas por medio del
software”.
Entendiendo que el software puede ser binario, código fuente o ejecutable
también abarca archivos y datos; para ser precisos es todo lo “intangible”,
contrario al hardware que es todo lo “físico”. Este, a su vez comprende dos tipos
según el área de especialización y al campo donde va dirigido los cuales son:
Software de sistema.
Software de programación.
Software de aplicación.
Siendo el primero aquel que se encarga de crear una interfaz entre el
usuario y la máquina, generando una comunicación fácil y sencilla evitando a su
vez que el primero vea los procesos internos que se ejecutan para lograr las tareas
que realiza dicha máquina.
El segundo tipo se caracteriza por ser un conjunto de herramientas que
permite “crear” procesos y desarrollar programas usando varios lenguajes de
programación proporcionando editores de texto, interpretes, depuradores, entre
otros.
Por último, el software de aplicación es aquel que permite realizar tareas
que son de un campo especifico tales como bases de datos, software empresarial,
por nombrar algunos y que pueden ser automatizados. En general se usan en
sistemas contables, software de diseño, entre otros.
Para realizar un software o crear uno, se debe generar por medio de
procesos y reglas preestablecidas que deben ser aplicadas para su éxito. Este
proceso puede ser sencillo o complejo, todo dependiendo de qué objetivos y
necesidades se dicte para dicho programa. Para ello debe realizarse un estudio y
cumplir con las siguientes etapas:
 Análisis de requisitos
En esta fase inicial, se reúnen y especifican las funciones necesarias
que deberá cumplir el sistema a desarrollar. Lo cual hace que esta sea la
principal fuente de éxito del desarrollo del sistema, ya que en este se
trazaran los objetivos a cumplir. Por lo que se necesita desarrollar buenos
criterios para la toma de decisiones.
Para lograr criterios certeros se deben tener algunos principios tales
como:
o Presentar y entender cabalmente el dominio de la
información del problema.
o Definir correctamente las funciones que debe realizar el
Software.
o Representar el comportamiento del software a consecuencias
de acontecimientos externos, particulares, incluso
inesperados.
o Reconocer requisitos incompletos, ambiguos o
contradictorios.
o Dividir claramente los modelos que representan la
información, las funciones y comportamiento y características
no funcionales
 Diseño
Esta etapa se basa en “como” los requisitos van a lograrse. En otras
palabras, como la estructura del software hará posibles dichas
necesidades.
 Codificación
Esta etapa consiste en la “programación” de lo diseñado
previamente y se caracteriza por necesitar más horas/hombre para
su desarrollo.
Mientras se traduce los requisitos en lenguaje de programación o
codificación, es natural que se realicen tareas de depuración y
evaluación, evitando así errores futuros.
Durante la fase de programación existen varias formas de código
para el desarrollo del mismo, y que pueden ser de tipo fuente, objeto
y ejecutable. Todo esto dependiendo de lo que se necesite lograr y la
manera más fácil y eficaz de trabajar.
 Pruebas (unitarias y de integración)
En esta fase se pueden destacar dos tipos de pruebas, las unitarias y
de integración. La primera consiste en probar pequeñas partes del
conjunto, como módulos, procedimientos, entre otros. Mientras que
el segundo comprende el sistema completo para así garantizar el
funcionamiento del sistema. Claro que para realizar este primero
debe cumplir la prueba unitaria.
 Instalación y paso a producción
La instalación, no es más que transferir los datos al computador
configurados para su uso. Esto quiere decir su entrega, y por lo tanto
esta etapa es susceptible a futuros ajustes y configuraciones.
 Mantenimiento
Este se entiende como la mejora y optimización del producto
desarrollado e instalado previamente y que comprende la
depuración y configuración de funciones anexasen caso de existir
alguna.
Tomando en cuenta y entendiendo cada una de las etapas antes descritas, se
encuentran sub-etapas, en el que el “modelo de proceso o ciclo de vida” empleado
para el desarrollo de este, norma el orden y tareas involucradas para dicho
proceso. Entre los ciclos más conocidos se destacan tres:
 Cascada
 Modelo en espiral
 Modelo iterativo incremental.
El primer tipo es el tradicional, el cual generalmente no se usa en su forma pura
sino que se flexibiliza debido a que en su manera original es muy rígida. Cuando se
usa en una de sus variantes se caracteriza por ser un software pequeño y sencillo y
de gran eficacia. Claro está que para ello se realizan ajustes en los procesos para
lograr una retroalimentación de etapas y así cumplir con los objetivos. Así se
obtiene el “modelo cascada retroalimentado”.
Una de las desventajas de este modelo es que si se realizan cambias durante el
proceso de desarrollo puede ocasionar confusión y el fracaso para dicho programa.
El segundo modelo es uno de tipo evolutivo e iterativo, esto quiere decir que
permite desarrollar versiones cada vez más complejas hasta llegar al objetivo
siendo específico detallando absolutamente todo lo que el sistema debe hacer.
Este modelo se construye en una serie de versiones incrementales. Dicho modelo
se divide en “regiones de tareas”. En general existen entre tres y seis regiones de
tareas. Este tiene como ventaja la capacidad de ir adaptándose y aplicarse a lo
largo de todo el software. Además se adapta muy bien para desarrollos a gran
escala, pero se debe tener gran experiencia para evaluar los riesgos.
Este modelo se inicia generando un centro con una tarea específica y en el cual
se basa el programa y luego se agregan capas de tareas, las cuales pueden ser
sencillas o complejas dependiendo del proyecto a abarcar. Por lo general este tipo
de modelo se usa en proyectos de gran escala y complejidad tales como
navegadores y controladores aeronáuticos. De este modelo existe una variante, a
la cual se refiere como espiral win & win. Este se basa en el ganar-ganar,
traduciendo su nombre en español.
Lo que se refiere a que su objetivo principal es satisfacer las necesidades del
cliente mientras que el desarrollador del programa gana un buen presupuesto y el
tiempo necesario para trabajar en el diseño del software. Para esto se debe tener
habilidades de negociación para llegar a un acuerdo.
En este modelo existen las siguientes premisas para abarcar el proyecto:
 Identificación del sistema o subsistemas clave de los directivos (*) (saber
qué quieren).
 Determinación de «condiciones de victoria» de los directivos (saber qué
necesitan y los satisface)
 Negociación de las condiciones «victoria» de los directivos para obtener
condiciones «Victoria & Victoria» (negociar para que ambos ganen).
Por último se tiene el modelo iterativo o incremental. Este es uno de tipo
“evolutivo” debido a que permite crear versiones de “estudio” o prototipos
basándose en el modelo cascada y que depura en su desarrollo los ciclos hasta
llegar a su producto final, en el cual ya han sido evaluados las operaciones y
tomados como necesarios para su funcionamiento.
En este tipo de software, el funcionamiento se basa en partes pequeñas que
permiten su “reciclaje” o refiriéndose de otro modo, pueden ser reutilizables y son
llamados incrementos. Estos se caracterizan por ser construidos sobre uno ya
elaborado anteriormente y entregado (reutilizado).
Dicho todo esto, se puede denotar que el modelo evolutivo permite una
retroalimentación entre el cliente y el programador, debido a que se entrega una
versión de prueba con funciones básicas y a medida que el cliente arroja
evaluaciones para reajustar o agregar funciones se logra un diseño del software
depurado y certero hasta cumplir totalmente con los objetivos trazados.
Claramente, son muy factibles estos modelos evolutivos, debido a que es casi nulo
que un cliente este consiente de todas las funciones que debería poseer dicho
programa, por lo que da la ventaja al programador de reciclar el prototipo sin
generar pérdidas en tiempo de ajuste y evaluación, aumentando así el éxito del
producto.
Participante:
María Alejandra Mendoza

Más contenido relacionado

La actualidad más candente

Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
Etapas del desarrollo de software
Etapas del desarrollo de softwareEtapas del desarrollo de software
Etapas del desarrollo de softwarexinithazangels
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vidamadpitbull_99
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivocamilosena89
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptxPablo Olvera
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vidasandrasig
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo SoftwareDaniel Román
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaMari Abad
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwarearealisherrera
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
 

La actualidad más candente (20)

Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Métodos Ágiles
Métodos ÁgilesMétodos Ágiles
Métodos Ágiles
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Proyecto de word.
Proyecto de word.Proyecto de word.
Proyecto de word.
 
Etapas del desarrollo de software
Etapas del desarrollo de softwareEtapas del desarrollo de software
Etapas del desarrollo de software
 
Modelos de Ciclos de Vida
Modelos de Ciclos de VidaModelos de Ciclos de Vida
Modelos de Ciclos de Vida
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivo
 
Dpss u3_a2_paov.pptx
 Dpss u3_a2_paov.pptx Dpss u3_a2_paov.pptx
Dpss u3_a2_paov.pptx
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
El software
El softwareEl software
El software
 
Tipos de ciclos de vida
Tipos de ciclos de vidaTipos de ciclos de vida
Tipos de ciclos de vida
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo Software
 
El Software
El SoftwareEl Software
El Software
 
Ciclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informaticaCiclo de vida de una aplicacion informatica
Ciclo de vida de una aplicacion informatica
 
Modelos de desarrollo rápido de software
Modelos de desarrollo rápido de softwareModelos de desarrollo rápido de software
Modelos de desarrollo rápido de software
 
Dpss u3 a2_paov
Dpss u3 a2_paovDpss u3 a2_paov
Dpss u3 a2_paov
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
AMSI
AMSIAMSI
AMSI
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 

Destacado

Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOLeida Zuñiga
 
Redes de valor y calidad (1)
Redes  de valor y calidad (1)Redes  de valor y calidad (1)
Redes de valor y calidad (1)monchoyepes
 
De myriam
De  myriamDe  myriam
De myriamMYSUCAL
 
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica Plataforma de Reguladores del Sector Audiovisual de Iberoamerica
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica Ministerio TIC Colombia
 
Ladygaga
LadygagaLadygaga
Ladygagagagabtw
 
Espigador@s cultura visual
Espigador@s cultura visualEspigador@s cultura visual
Espigador@s cultura visualEvita HGonzalez
 
Detracciones
DetraccionesDetracciones
Detraccionestorner3d
 
Paraentender
ParaentenderParaentender
Paraentenderfrankmb
 
Psicooooo power
Psicooooo powerPsicooooo power
Psicooooo powerElena Meza
 
Milca rebaza, scarlette jara , & carla serrano
Milca rebaza, scarlette jara , & carla serranoMilca rebaza, scarlette jara , & carla serrano
Milca rebaza, scarlette jara , & carla serranoCarlaSerranoOses
 
Crónica de hotel 1
Crónica de hotel 1Crónica de hotel 1
Crónica de hotel 1Rafael Moreno
 
Portafolio.Hotel Americano Neiva 2014. ISO 9001
Portafolio.Hotel Americano Neiva 2014. ISO 9001Portafolio.Hotel Americano Neiva 2014. ISO 9001
Portafolio.Hotel Americano Neiva 2014. ISO 9001HotelAmericano Neiva
 
Que hacen los directivos los maestros y
Que hacen los directivos los maestros yQue hacen los directivos los maestros y
Que hacen los directivos los maestros yKellypink Sanz
 

Destacado (20)

Terremotos de choco
Terremotos de chocoTerremotos de choco
Terremotos de choco
 
Anthonyy
AnthonyyAnthonyy
Anthonyy
 
Dibujo técnico Aplicacion 2
Dibujo técnico Aplicacion 2Dibujo técnico Aplicacion 2
Dibujo técnico Aplicacion 2
 
Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGO
 
Redes de valor y calidad (1)
Redes  de valor y calidad (1)Redes  de valor y calidad (1)
Redes de valor y calidad (1)
 
De myriam
De  myriamDe  myriam
De myriam
 
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica Plataforma de Reguladores del Sector Audiovisual de Iberoamerica
Plataforma de Reguladores del Sector Audiovisual de Iberoamerica
 
Ladygaga
LadygagaLadygaga
Ladygaga
 
modelo de sencibilidad
modelo de sencibilidadmodelo de sencibilidad
modelo de sencibilidad
 
Espigador@s cultura visual
Espigador@s cultura visualEspigador@s cultura visual
Espigador@s cultura visual
 
Detracciones
DetraccionesDetracciones
Detracciones
 
Paraentender
ParaentenderParaentender
Paraentender
 
Lectura
LecturaLectura
Lectura
 
Psicooooo power
Psicooooo powerPsicooooo power
Psicooooo power
 
Milca rebaza, scarlette jara , & carla serrano
Milca rebaza, scarlette jara , & carla serranoMilca rebaza, scarlette jara , & carla serrano
Milca rebaza, scarlette jara , & carla serrano
 
Los smartphones
Los smartphonesLos smartphones
Los smartphones
 
Crónica de hotel 1
Crónica de hotel 1Crónica de hotel 1
Crónica de hotel 1
 
Formación con docentes
Formación con docentesFormación con docentes
Formación con docentes
 
Portafolio.Hotel Americano Neiva 2014. ISO 9001
Portafolio.Hotel Americano Neiva 2014. ISO 9001Portafolio.Hotel Americano Neiva 2014. ISO 9001
Portafolio.Hotel Americano Neiva 2014. ISO 9001
 
Que hacen los directivos los maestros y
Que hacen los directivos los maestros yQue hacen los directivos los maestros y
Que hacen los directivos los maestros y
 

Similar a Ensayo Software

Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de softJazmin Cr
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxNicolas Ormeño
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa... grachika
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftwareElidaDasta
 
Ciclo de vida de un software
Ciclo de vida de un softwareCiclo de vida de un software
Ciclo de vida de un softwareMargotVenegas2
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
implementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfimplementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfssuser948499
 
Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)ManuelJimnez56
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicionEvelin Oña
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Bruno
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erickerick
 

Similar a Ensayo Software (20)

Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
ciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptxciclo-de-vida-de-un-software (1).pptx
ciclo-de-vida-de-un-software (1).pptx
 
XXXS
XXXSXXXS
XXXS
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
 
EliDastaSoftware
EliDastaSoftwareEliDastaSoftware
EliDastaSoftware
 
Ciclo de vida de un software
Ciclo de vida de un softwareCiclo de vida de un software
Ciclo de vida de un software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
SDLC.pptx
SDLC.pptxSDLC.pptx
SDLC.pptx
 
implementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdfimplementaciondesoftware-110920135142-phpapp01.pdf
implementaciondesoftware-110920135142-phpapp01.pdf
 
Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)Ciclo de Vida del Software (Para SAIA)
Ciclo de Vida del Software (Para SAIA)
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Modelo de procesos
Modelo de procesosModelo de procesos
Modelo de procesos
 
Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3Presentacion modelos de proceso Grupo 3
Presentacion modelos de proceso Grupo 3
 
Fasesdedesarrollodeunprograma
FasesdedesarrollodeunprogramaFasesdedesarrollodeunprograma
Fasesdedesarrollodeunprograma
 
El software
El softwareEl software
El software
 
Ciclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdfCiclo de Vida de un Software.pdf
Ciclo de Vida de un Software.pdf
 
Software & Hardware Erick
Software & Hardware ErickSoftware & Hardware Erick
Software & Hardware Erick
 

Ensayo Software

  • 1. UNIVERSIDAD FERMIN TORO DISEÑO DE SOFTWARE FACULTAD DE INGENIERIA SECCIÒN: SAIA A DEPTO. DE PROGRAMACIÒN PROF: ADRIANA BARRETO CABUDARE – EDO. LARA ENSAYO SOBRE SOFTWARE El software trae consigo muchas definiciones, de las cuales se encuentra y se entiende que: “Es el conjunto de programas y procedimientos que hacen posible las operaciones de un computador o sistema en conjunto de su hardware siendo este último los componentes físicos que ejecuta las tareas enviadas por medio del software”. Entendiendo que el software puede ser binario, código fuente o ejecutable también abarca archivos y datos; para ser precisos es todo lo “intangible”, contrario al hardware que es todo lo “físico”. Este, a su vez comprende dos tipos según el área de especialización y al campo donde va dirigido los cuales son: Software de sistema. Software de programación. Software de aplicación. Siendo el primero aquel que se encarga de crear una interfaz entre el usuario y la máquina, generando una comunicación fácil y sencilla evitando a su vez que el primero vea los procesos internos que se ejecutan para lograr las tareas que realiza dicha máquina. El segundo tipo se caracteriza por ser un conjunto de herramientas que permite “crear” procesos y desarrollar programas usando varios lenguajes de programación proporcionando editores de texto, interpretes, depuradores, entre otros. Por último, el software de aplicación es aquel que permite realizar tareas que son de un campo especifico tales como bases de datos, software empresarial, por nombrar algunos y que pueden ser automatizados. En general se usan en sistemas contables, software de diseño, entre otros. Para realizar un software o crear uno, se debe generar por medio de procesos y reglas preestablecidas que deben ser aplicadas para su éxito. Este proceso puede ser sencillo o complejo, todo dependiendo de qué objetivos y necesidades se dicte para dicho programa. Para ello debe realizarse un estudio y cumplir con las siguientes etapas:
  • 2.  Análisis de requisitos En esta fase inicial, se reúnen y especifican las funciones necesarias que deberá cumplir el sistema a desarrollar. Lo cual hace que esta sea la principal fuente de éxito del desarrollo del sistema, ya que en este se trazaran los objetivos a cumplir. Por lo que se necesita desarrollar buenos criterios para la toma de decisiones. Para lograr criterios certeros se deben tener algunos principios tales como: o Presentar y entender cabalmente el dominio de la información del problema. o Definir correctamente las funciones que debe realizar el Software. o Representar el comportamiento del software a consecuencias de acontecimientos externos, particulares, incluso inesperados. o Reconocer requisitos incompletos, ambiguos o contradictorios. o Dividir claramente los modelos que representan la información, las funciones y comportamiento y características no funcionales  Diseño Esta etapa se basa en “como” los requisitos van a lograrse. En otras palabras, como la estructura del software hará posibles dichas necesidades.  Codificación Esta etapa consiste en la “programación” de lo diseñado previamente y se caracteriza por necesitar más horas/hombre para su desarrollo. Mientras se traduce los requisitos en lenguaje de programación o codificación, es natural que se realicen tareas de depuración y evaluación, evitando así errores futuros. Durante la fase de programación existen varias formas de código para el desarrollo del mismo, y que pueden ser de tipo fuente, objeto y ejecutable. Todo esto dependiendo de lo que se necesite lograr y la manera más fácil y eficaz de trabajar.  Pruebas (unitarias y de integración) En esta fase se pueden destacar dos tipos de pruebas, las unitarias y de integración. La primera consiste en probar pequeñas partes del
  • 3. conjunto, como módulos, procedimientos, entre otros. Mientras que el segundo comprende el sistema completo para así garantizar el funcionamiento del sistema. Claro que para realizar este primero debe cumplir la prueba unitaria.  Instalación y paso a producción La instalación, no es más que transferir los datos al computador configurados para su uso. Esto quiere decir su entrega, y por lo tanto esta etapa es susceptible a futuros ajustes y configuraciones.  Mantenimiento Este se entiende como la mejora y optimización del producto desarrollado e instalado previamente y que comprende la depuración y configuración de funciones anexasen caso de existir alguna. Tomando en cuenta y entendiendo cada una de las etapas antes descritas, se encuentran sub-etapas, en el que el “modelo de proceso o ciclo de vida” empleado para el desarrollo de este, norma el orden y tareas involucradas para dicho proceso. Entre los ciclos más conocidos se destacan tres:  Cascada  Modelo en espiral  Modelo iterativo incremental. El primer tipo es el tradicional, el cual generalmente no se usa en su forma pura sino que se flexibiliza debido a que en su manera original es muy rígida. Cuando se usa en una de sus variantes se caracteriza por ser un software pequeño y sencillo y de gran eficacia. Claro está que para ello se realizan ajustes en los procesos para lograr una retroalimentación de etapas y así cumplir con los objetivos. Así se obtiene el “modelo cascada retroalimentado”. Una de las desventajas de este modelo es que si se realizan cambias durante el proceso de desarrollo puede ocasionar confusión y el fracaso para dicho programa. El segundo modelo es uno de tipo evolutivo e iterativo, esto quiere decir que permite desarrollar versiones cada vez más complejas hasta llegar al objetivo siendo específico detallando absolutamente todo lo que el sistema debe hacer. Este modelo se construye en una serie de versiones incrementales. Dicho modelo se divide en “regiones de tareas”. En general existen entre tres y seis regiones de tareas. Este tiene como ventaja la capacidad de ir adaptándose y aplicarse a lo largo de todo el software. Además se adapta muy bien para desarrollos a gran escala, pero se debe tener gran experiencia para evaluar los riesgos.
  • 4. Este modelo se inicia generando un centro con una tarea específica y en el cual se basa el programa y luego se agregan capas de tareas, las cuales pueden ser sencillas o complejas dependiendo del proyecto a abarcar. Por lo general este tipo de modelo se usa en proyectos de gran escala y complejidad tales como navegadores y controladores aeronáuticos. De este modelo existe una variante, a la cual se refiere como espiral win & win. Este se basa en el ganar-ganar, traduciendo su nombre en español. Lo que se refiere a que su objetivo principal es satisfacer las necesidades del cliente mientras que el desarrollador del programa gana un buen presupuesto y el tiempo necesario para trabajar en el diseño del software. Para esto se debe tener habilidades de negociación para llegar a un acuerdo. En este modelo existen las siguientes premisas para abarcar el proyecto:  Identificación del sistema o subsistemas clave de los directivos (*) (saber qué quieren).  Determinación de «condiciones de victoria» de los directivos (saber qué necesitan y los satisface)  Negociación de las condiciones «victoria» de los directivos para obtener condiciones «Victoria & Victoria» (negociar para que ambos ganen). Por último se tiene el modelo iterativo o incremental. Este es uno de tipo “evolutivo” debido a que permite crear versiones de “estudio” o prototipos basándose en el modelo cascada y que depura en su desarrollo los ciclos hasta llegar a su producto final, en el cual ya han sido evaluados las operaciones y tomados como necesarios para su funcionamiento. En este tipo de software, el funcionamiento se basa en partes pequeñas que permiten su “reciclaje” o refiriéndose de otro modo, pueden ser reutilizables y son llamados incrementos. Estos se caracterizan por ser construidos sobre uno ya elaborado anteriormente y entregado (reutilizado). Dicho todo esto, se puede denotar que el modelo evolutivo permite una retroalimentación entre el cliente y el programador, debido a que se entrega una versión de prueba con funciones básicas y a medida que el cliente arroja evaluaciones para reajustar o agregar funciones se logra un diseño del software depurado y certero hasta cumplir totalmente con los objetivos trazados. Claramente, son muy factibles estos modelos evolutivos, debido a que es casi nulo que un cliente este consiente de todas las funciones que debería poseer dicho programa, por lo que da la ventaja al programador de reciclar el prototipo sin generar pérdidas en tiempo de ajuste y evaluación, aumentando así el éxito del producto. Participante: María Alejandra Mendoza