0% encontró este documento útil (0 votos)
4K vistas39 páginas

Informe Sobre El Software

El documento trata sobre el software, sus características, aplicaciones, requerimientos y análisis, ingeniería del software, procesos, métodos y herramientas. Define el software como las instrucciones predefinidas por un programador para ejecutar tareas en un sistema de computación. Explica que el software debe poseer características como ser operativo, transicional y revisable. Además, clasifica el software según su campo de aplicación e identifica los requerimientos y tareas de análisis necesarias para su desarrollo. Final

Cargado por

TONI BLIN
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4K vistas39 páginas

Informe Sobre El Software

El documento trata sobre el software, sus características, aplicaciones, requerimientos y análisis, ingeniería del software, procesos, métodos y herramientas. Define el software como las instrucciones predefinidas por un programador para ejecutar tareas en un sistema de computación. Explica que el software debe poseer características como ser operativo, transicional y revisable. Además, clasifica el software según su campo de aplicación e identifica los requerimientos y tareas de análisis necesarias para su desarrollo. Final

Cargado por

TONI BLIN
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1

SOFTWARE

ANTONIO ADOLFO VALVERDE ACOSTA

FACULTAD DE ADMINISTRACION FINANZAS E INFORMATICA

Nota:

Cuarto Sistema Nocturno, Profesor: Joffre León Acurio, Ingeniería Del Software,

Universidad Técnica De Babahoyo.

La correspondencia relacionada con este documento deberá ser enviada a

alvalverdeantonio@[Link]
2

Contenido
INTRODUCCIÓN......................................................................................................................5

QUE ES  SOFTWARE...............................................................................................................6

CARACTERISTICAS DEL SOFTWARE.................................................................................7

Características Del Software...................................................................................................7

Características operativas del Software..............................................................................8

Características de transición del Software..........................................................................8

Características de revisión de Software..............................................................................9

APLICACIONES DEL SOFTWARE........................................................................................9

El Software Y Sus Campos De Aplicación.............................................................................9

Clasificación Del Software Según Los Campos De Aplicación:..........................................10

Sistemas Software De Tiempo Real..................................................................................10

Sistemas Software De Gestión..........................................................................................11

Sistemas Software De Ingeniería Y Científicos................................................................11

Sistemas Software De Inteligencia Artificial....................................................................12

Sistemas Software Para Ordenadores Personales.............................................................12

Aplicaciones típicas:.........................................................................................................12

REQUERIMIENTOS Y ANÁLISIS DEL SOFTWARE.........................................................13

Características De Los Requerimientos................................................................................14

Necesario:..........................................................................................................................14
3

Conciso:............................................................................................................................14

Completo:..............................................................................................................................14

Consistente:...........................................................................................................................14

No ambiguo:..........................................................................................................................14

Verificable:........................................................................................................................14

* Dificultades Para Definir Los Requerimientos *...............................................................14

Análisis Del Software...........................................................................................................15

Tareas de análisis..............................................................................................................15

Funciones Y Habilidades Del Analista.................................................................................17

VISIÓN GENERAL DE LA INGENIERÍA DEL SOFTWARE.............................................18

Qué  Es..................................................................................................................................18

Por Qué  Es Importante.........................................................................................................18

Cuáles Son Los Pasos...........................................................................................................18

Cuál Es El Producto Obtenido..............................................................................................19

PROCESOS, MÉTODOS, HERRAMIENTAS DEL SOFTWARE........................................19

Proceso De Software.............................................................................................................19

Metodologías De Desarrollo De Software............................................................................21

A) Modelo En Cascada:....................................................................................................21

B) Modelo De Desarrollo Evolutivo:................................................................................21

C) Modelo De Componentes:...........................................................................................21
4

Clases de Herramientas.........................................................................................................22

MODELO DE PROCESO DE DESARROLLO DE SOFTWARE.........................................23

Modelo Lineal Secuencial.....................................................................................................23

Modelo De Prototipo.............................................................................................................24

Modelo “DRA”.....................................................................................................................26

Fases DRA=Desarrollo Rápido De Aplicaciones..........................................................26

Modelo Evolutivo Incremental.............................................................................................27

Modelo Evolutivo Espiral.....................................................................................................29

Tipos.................................................................................................................................29

Modelo De Desarrollo Basado En Componente...................................................................32

CONCLUSIONES....................................................................................................................35

Bibliografía...............................................................................................................................36
5

INTRODUCCIÓN

En el presente documento se da a conocer sobre el software y sus distintas ramas que

constituyen a la realización de un software de calidad, este tiene que poseer varias características

especiales para que pueda funcionar de forma correcta y sin ningún tipo de error.

El software primordialmente requiere ser estudiado detenidamente ya que son muchos

elementos que lo conforman.

Para el desarrollo del software existen procesos, métodos, herramientas que van a facilitar el

desarrollo correcto ya que este es el encargado de realizar funciones sencillas y complejas

dependiendo de la programación que contenga.


6

QUE ES  SOFTWARE

El software puede definirse como todos aquellos conceptos, actividades y procedimientos que

dan como resultado la generación de programas para un sistema de

computación. En otras palabras, son las instrucciones que han sido

predefinidas por un programador para ejecutar las tareas que se le

indican.

El software es un conjunto de números binarios (bits), que tiene

algún sentido para la computadora, y es almacenado en algún soporte físico (hardware), desde

donde el procesador puede acceder, para ejecutarlo o mostrarlo. Mientras que el hardware es un

sistema de computación visible, tangible y fácilmente aplicable, el software es una entidad

puramente conceptual: un producto intelectual, esto significa que el hardware es la parte física, y

el software es la parte lógica de la computadora.

El objetivo de un “buen software” es aumentar las posibilidades de que éste se desarrolle a

tiempo y de que tenga una mayor efectividad en cuanto a costos debido a una utilización mas

eficiente del personal y los recursos.

El software puede dividirse en distintas formas basadas en el tipo de trabajo realizado.

El software de sistema, donde una de sus partes importantes es el sistema operativo, es la parte

que permite funcionar al hardware, controla los trabajos, procesa tareas tan esenciales, aunque a

menudo invisibles, como el mantenimiento de los archivos del disco y la administración de

la pantalla.
7

El software de aplicación, permite a los usuarios llevar a cabo una o varias tareas más

específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, lleva a

cabo tareas de tratamiento de textos, gestión de bases de datos y similares. Por ejemplo, hacer un

índice ordenado por autor o recuperar información de una base de datos, etc.[CITATION Def \l

12298 ]

CARACTERISTICAS DEL SOFTWARE

Software es todo el conjunto de programas, procedimientos y rutinas asociadas con el

funcionamiento de un sistema informático, incluyendo el sistema operativo. El software es

escrito por los programadores en una variedad de lenguajes de

programación, esta escritura se conoce como código fuente, el

cual debe ser traducido por medio de un compilador a lenguaje de

máquina para que la computadora lo pueda entender y ejecutar.

[ CITATION cav \l 12298 ]

Características Del Software

El software tiene tres características principales:

1) Características operativas

2) Características de transición

3) Características de revisión
8

Características operativas del Software

Son factores de funcionalidad, es como se presenta el software, es la “parte exterior” del

mismo. Incluye aspectos como:

Corrección: El software que estamos haciendo debe satisfacer todas las especificaciones

establecidas por el cliente.

Usabilidad / Facilidad de aprendizaje: Debe ser sencillo de aprender.

Integridad: Un software de calidad no debe tener efectos secundarios.

Fiabilidad: El producto de software no debería tener ningún defecto. No sólo esto, no debe

fallar mientras la ejecución.

Eficiencia: Forma en que el software utiliza los recursos disponibles. El software debe hacer

un uso eficaz del espacio de almacenamiento y el comando ejecutar según los requisitos de

tiempo deseados.

Seguridad: Se deben tomar medidas apropiadas para mantener los datos a salvo de las

amenazas externas

Características de transición del Software

Interoperabilidad: Es la capacidad para el intercambio de información con otras aplicaciones.

Reutilización: Es poder utilizar el código de software con algunas modificaciones para

diferentes propósitos.

Portabilidad: Capacidad para llevar a cabo las mismas funciones en todos los entornos y

plataformas.
9

Características de revisión de Software

Son los factores de ingeniería, la “calidad interior ‘del software como la eficiencia, la

documentación y la estructura. Incluye aspectos como:

Capacidad de mantenimiento: El mantenimiento del software debe ser fácil para cualquier tipo

de usuario.

Flexibilidad: Los cambios en el software debe ser fácil de hacer.

Extensibilidad: Debe ser fácil de aumentar nuevas funciones.

Escalabilidad: Debe ser muy fácil de actualizar para más trabajo.

Capacidad de prueba: Prueba del software debe ser fácil.

Modularidad: Debe estar compuesto por unidades y módulos independientes entre sí.

[CITATION cav \l 12298 ]

APLICACIONES DEL SOFTWARE

El Software Y Sus Campos De Aplicación

El software se define como programas de computadoras, las instrucciones responsables de que

el hardware (la máquina) realice su tarea, incluyendo por tanto las estructuras de datos y la

documentación implícita en el programa. Como concepto general, el software puede dividirse en

varias categorías basadas en el tipo de trabajo realizado. Las dos categorías primarias de software

son los sistemas operativos (software del sistema), que controlan los trabajos del ordenador o

computadora, y el software de aplicación, que dirige las distintas tareas para las que se utilizan

las computadoras. [ CITATION ElSsf \l 12298 ]

En cualquier caso, es difícil establecer categorías genéricas significativas para las aplicaciones

del software. Conforme aumenta la complejidad del mismo se hace más complicado establecer
10

compartimentos nítidamente separados. No obstante se acepta tradicionalmente la siguiente

clasificación:

Clasificación Del Software Según Los Campos De Aplicación:

Sistemas de Tiempo Real

Sistemas Empotrados

Sistemas de Gestión

Sistemas de Ingeniería y científicos

Sistemas de Inteligencia Artificial

Sistemas de Ordenadores Personales [ CITATION ElSsf \l 12298 ]

Sistemas Software De Tiempo Real

- Deben responder a eventos externos, asegurando un tiempo máximo de respuesta

determinado.

- La secuencia de ejecución no sólo está determinada por decisiones del sistema, sino también

por eventos que ocurren en el mundo real.

- Habitualmente requieren interfaces con una gran cantidad de sensores y actuadores.

- Deben ser muy confiables. Su respuesta debe ser controlada, incluso en condiciones de

sobrecarga.

- No pueden “volver atrás” y reiniciar desde un contexto preexistente.

- Los requerimientos del medio ambiente por lo general son en paralelo.


11

- Son de “tiempo infinito”, por lo que deben poder recuperarse automáticamente de

condiciones de excepción.

Sistemas Software De Gestión

El procesamiento de la información de gestión constituye, casi desde los inicios de la

informática la mayor de las áreas de aplicación de los ordenadores. Estos programas utilizan

grandes cantidades de información almacenadas en bases de datos con objeto de facilitar las

transacciones comerciales o la toma de decisiones. Además de las tareas convencionales de

procesamiento de datos, en las que el tiempo de procesamiento no es crítico y los errores pueden

ser corregidos a posteriori, incluyen programas interactivos que sirven de soporte a transacciones

comerciales.

Estos sistemas se caracterizan por el volumen de datos que controlan, el procesamiento

sencillo distinto al de la ingeniería científica e implementado con software de alto nivel a

diferencia del de sistemas y la interactividad con el usuario.

Sistemas Software De Ingeniería Y Científicos

Otro de los campos clásicos de aplicación de la informática. Se encarga de realizar complejos

cálculos sobre datos numéricos de todo tipo. En este caso la corrección y exactitud de las

operaciones que realizan es uno de los requisitos básicos que deben cumplir.

El campo del software científico y de ingeniería, también llamado number cranching

(ordenador de números) se ha visto ampliado últimamente con el desarrollo de los sistemas de

diseño, ingeniería y fabricación asistida por ordenador (CAD, CAE y CAM), los simuladores
12

gráficos y otras aplicaciones interactivas que lo acercan más al software de tiempo real e incluso

al software de sistemas.

Estos sistemas se suelen enfocar hacia los análisis estadísticos o cálculo de estructuras

generando una aplicación típica de diseño asistido por ordenador (CAD- Computer Aided

Design). No suelen ser interactivos, por lo que tampoco disfrutan de una interfaz amigable.

Sistemas Software De Inteligencia Artificial

El software basado en lenguajes procedimentales es útil para realizar de forma rápida y fiable

operaciones que para el ser humano son tediosas e incluso inabordables. Sin embargo, es

difícilmente aplicable a problemas que requieran la aplicación de funciones intelectuales más

elevadas, por triviales que nos puedan parecer. El software de inteligencia artificial trata de dar

respuesta a estas deficiencias, basándose en el uso de lenguajes declarativos, sistemas expertos y

redes neuronales.

Sistemas Software Para Ordenadores Personales

El uso de ordenadores personales y de uso doméstico se ha generalizado a lo largo de la

pasada década. Han surgido productos de amplia difusión orientados a usuarios no profesionales,

por lo que entre sus requisitos se encuentran la facilidad de uso y el bajo coste. Se pueden citar

muchísimos programas.

Aplicaciones típicas:

Procesadores de textos (Word, Wordperfect, Kwrite, AmiPro)

Hojas de cálculo ( Excel, Lotus 123)


13

Bases de datos (Access, Developer)

Juegos (aventuras gráficas, estrategia, rol, simuladores)

Aplicaciones de diseño y tratamiento de imágenes (Corel Draw, Photoshop)

Compresores (Winzip, Winace)

Reproductores de sonido (Winamp, Real Player)

Reproductores de video (Windows Media Player, GDivX)

Programas de grabación (Nero, CloneCd)

Gestores de descarga(Getright, Gozilla)

Correo (outlook express, Eudora)

Chat (Irc, Messenger)

Antivirus (Panda, Norton)

Firewall (BlackIce, Conseal)

Traductores e intérpretes(Babylon) [ CITATION ElSsf \l 12298 ]

REQUERIMIENTOS Y ANÁLISIS DEL SOFTWARE

Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no

funcionales. Los requerimiento s funcionales definen las funciones que el sistema será

capaz de realizar. Describen las transformaciones que el sistema realiza sobre las entradas para

producir salidas. 

Los requerimientos no funcionales tienen que ver con características que de una u otra forma

puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de
14

usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad,

portabilidad, estándares, etc. [ CITATION REQsf \l 12298 ]

Características De Los Requerimientos 

Las características de un requerimiento son sus propiedades principales. Un conjunto de

requerimientos en estado de madurez, deben presentar una serie de características tanto

individualmente como en grupo. A continuación se presentan las más importantes. 

Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema

a construir, y además su capacidad, características físicas o factor de calidad no pueden ser

reemplazados por otras capacidades del producto o del proceso. 

Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser

simple y clara para aquellos que vayan a consultarlo en un futuro. 

Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es

decir, si se proporciona la información suficiente para su comprensión. 

Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento. 

No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación. 

Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que

permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o

pruebas. [ CITATION REQsf \l 12298 ]

* Dificultades Para Definir Los Requerimientos * 

• Los requerimientos no son obvios y vienen de muchas fuentes. 

• Son difíciles de expresar en palabras (el lenguaje es ambiguo). 


15

• Existen muchos tipos de requerimientos y diferentes niveles de detalle. 

• La cantidad de requerimientos en un proyecto puede ser difícil de manejar. 

• Nunca son iguales. Algunos son más difíciles, más riesgosos, más importantes o más

estables que otros. 

• Los requerimientos están relacionados unos con otros, y a su vez se relacionan con otras

partes del proceso. 

• Cada requerimiento tiene propiedades únicas y abarcan áreas funcionales específicas. 

• Un requerimiento puede cambiar a lo largo del ciclo de desarrollo. 

• Son difíciles de cuantificar, ya que cada conjunto de requerimientos es particular para cada

proyecto.  [ CITATION REQsf \l 12298 ]

Análisis Del Software

El análisis de requisitos es una tarea de ingeniería del software que cubre el hueco entre la

definición del software a nivel sistema y el diseño de software. El análisis de requerimientos

permite al ingeniero de sistemas especificar las características operacionales del software

(función, datos y rendimientos), indica la interfaz del software con otros elementos del sistema y

establece las restricciones que debe cumplir el software.[ CITATION PRE02 \l 12298 ]

Tareas de análisis

El análisis de requisitos del software se puede subdividir en cinco áreas de esfuerzo:

1.      Reconocimiento del problema


16

2.      Evaluación y síntesis

3.      Modelado

4.      Especificación

5.      Revisión

Todos los métodos de análisis se relacionan por un conjunto de principios operativos: 

1.      Debe representarse y entenderse el dominio de la información de un problema.

2.      Deben definirse las funciones que debe realizar el software.

3.      Debe representarse el comportamiento del software (como consecuencia de

acontecimientos externos),

4.      Deben dividirse los modelos que representan información, función y comportamiento de

manera que se descubran los detalles por capas (o jerárquicamente).

5.      El proceso de análisis debería ir desde la información esencial hasta el detalle de la

implementación.

Además de los principios operativos mencionados anteriormente, se sugiere un conjunto de

principios directrices para la ingeniería de requerimientos:           

1.      Entender el problema antes de empezar a crear el modelo de análisis.

2.      Desarrollar prototipos que permitan al usuario entender como será la interacción hombre-

máquina.

3.      Registrar el orden y la razón de cada requerimiento,

4.      Usar múltiples planteamientos de requerimientos.


17

5.      Priorizar los requerimientos.

6.      Trabajar para eliminar la ambigüedad.

Un ingeniero de software que se apegue a estos principios es muy probable que desarrolle una

especificación de software que represente un excelente fundamento para el diseño.[ CITATION

PRE02 \l 12298 ]

Funciones Y Habilidades Del Analista

La función principal de un analista del software (o ingeniero de requisitos es llevar a cabo las

actividades necesarias para cumplir con las cinco áreas de esfuerzo descritas en la sección

anterior. Para lo cual hace uso de las siguientes técnicas:

1.      Entrevistas

2.      Talleres

3.      Observación

4.      Encuestas

5.      Revisión documental

6.      Uso de especificaciones formales para requerimientos [ CITATION PRE02 \l 12298 ]


18

 VISIÓN GENERAL DE LA INGENIERÍA DEL SOFTWARE

Qué  Es

 Cuando se trabaja para construir un producto  o sistema es importante seguir una serie de pasos

predecibles.

  Una especie de mapa de carreteras que ayude  crear  un resultado de alta  calidad y a tiempo. El

mapa de 

  Carreteras  que debe  seguirse  se llama proceso de software.

Quién Lo Hace 

Los ingenieros de software y sus jefes adaptan el proceso a sus necesidades y después lo sigue

Además.

La gente  que ha solicitado el software tiene una función que desempeñar en el proceso de definirlo

construido.

Por Qué  Es Importante

Porque ofrece estabilidad, control y organización  a una actividad que puede volverse caótica si se

controla.

Sin embargo un enfoque de ingeniería del software moderno deba ser ágil. 

Cuáles Son Los Pasos

 En detalle, el proceso que se adopte depende del software que se está construyendo. Un proceso

puede ser apropiado para crear un software para un sistema aeronáutica, mientras que un procesó

distinto por completo sería el indicado para sitio web.


19

Cuál Es El Producto Obtenido

 Desde el punto de vista del ingeniero de software, los productos obtenidos son los programas,

documentos y datos  que se producen como consecuencia de las actividades y tareas definidas por

el proceso.

Marco De Trabajo Del Proceso

Un  marco de trabajo establece la base para un proceso de software completo al identificar un número

pequeño de actividades del marco de trabajo aplicables a todos los proyectos d software, sin importar su

tamaño o complejidad. [ CITATION ing10 \l 12298 ]

PROCESOS, MÉTODOS, HERRAMIENTAS DEL SOFTWARE

Proceso De Software

La meta de la ingeniería de software es construir productos de software, o mejorar los

existentes; en ingeniería de procesos, la meta es desarrollar o mejorar procesos.

Un proceso de desarrollo de software es un conjunto de personas, estructuras de organización,

reglas, políticas, actividades y sus procedimientos, componentes de software, metodologías, y

herramientas utilizadas o creadas específicamente para definir, desarrollar, ofrecer un servicio,

innovar y extender un producto de software.

Un proceso de software efectivo habilita a la organización a incrementar su productividad al

desarrollar software:

 Permite estandarizar esfuerzos, promover reusó, repetición y consistencia entre

proyectos.

 Provee la oportunidad de introducir mejores prácticas de la industria.


20

 Permite entender que las herramientas deben ser utilizadas para soportar un proceso.

 Establece la base para una mayor consistencia y mejoras futuras.

Un proceso de software mejora los esfuerzos de mantenimiento y soporte:

 Define cómo manejar los cambios y liberaciones a sistemas de software existentes.

 Define cómo lograr la transición del software a la operación, y cómo ejecutar los

esfuerzos de operación y soporte.

 Necesitamos un proceso de software cuya funcionalidad esté probada en la práctica, y

personalizado para que cumpla con nuestras necesidades específicas. [ CITATION

Ruvsf \l 12298 ]
21

 
22

Metodologías De Desarrollo De Software

Aunque las metodologías de desarrollo de software no varían en lo esencial, sí que se puede

hablar de modelos o marcos de trabajo distintos. Son métodos de trabajo que han sido creados

para satisfacer necesidades específicas en los proyectos. Los modelos más destacados en esta

área:

A) Modelo En Cascada:

Las actividades están relacionadas unas a otras de modo que el proceso en su conjunto avanza

cuanto mayor sea el número de tareas ejecutadas. Las acciones principales del desarrollo de un

programa software son la especificación, la validación y la evolución del mismo. También

resultan determinantes el diseño del software como tal, la implementación y las pruebas.

B) Modelo De Desarrollo Evolutivo:

En este caso, por el contrario, lo más importante no es la suma de aportes de cada etapa del

proceso, sino el hecho de que las actividades de especificación, desarrollo y validación están

entrelazadas. El punto de partida siempre es un sistema inicial que se desarrolla de forma rápida

y que va evolucionando según la dinámica del propio proyecto y las peticiones de los clientes o

destinatarios. Todo el proceso es una continua evolución que sólo se detiene hasta que los

objetivos iniciales han sido alcanzados.

C) Modelo De Componentes:

Se trata de un modelo especialmente útil en procesos que parten del trabajo que otros han

llevado a cabo. Las partes que ya no aportan ningún beneficio a otros proyectos son reutilizadas
23

e integradas en una nueva metodología de desarrollo. Todo el modelo se basa en la adecuación y

adaptación de dichas partes, que al final del mismo acaban cobrando un nuevo valor y asumiendo

otras funciones.

  Estos tres modelos de metodologías son los más empleados en la actualidad en la industria

del desarrollo de programas de software.  [CITATION Quésf \t \l 12298 ]

Clases de Herramientas

Aplicaremos el término herramienta a un producto CASE que da soporte a una tarea concreta

dentro de las actividades de desarrollo de software. Dicho soporte consistirá en una serie

de servicios, cada uno de los cuales automatiza una operación individual. Podemos clasificar las

herramientas según los servicios que ofrece y/o la tarea a la que da soporte. A continuación se

describen algunas clases de herramientas o grupos de funciones que podemos encontrar en un

entorno de programación:

 Edición y examen del código (editor / browser / navigator)

 Codificación

 Verificación y validación

 Gestión de configuración

 Métricas

 Otras herramientas
24

Otras herramientas de desarrollo no incluidas en la relación anterior se salen del marco de lo

que hemos denominado entorno de programación, y dan soporte a otras fases del ciclo de vida

de desarrollo. Por ejemplo:

 Gestión del proyecto

 Análisis y diseño (metodología concreta - "herramienta" CASE). [ CITATION

Hersf \l 12298 ]

MODELO DE PROCESO DE DESARROLLO DE SOFTWARE

Modelo Lineal Secuencial

Se tiene un modelo que lleva un desarrollo incremental, esto nos dice que se desarrolla el

software en etapas y que después del término de una etapa no es posible regresar a ella, este

modelo tiene cuatro etapas que son:

- Planificación: se determinan los objetivos, metas, requerimientos y restricciones en el

proyecto.

- Análisis de riesgos: identificación de situaciones inconvenientes para evitarlas y

solucionarlas.

- Ingeniera: desarrollo del producto con respecto al diseño y otras consideraciones

planteadas.

- Evaluación del cliente: valorización de los resultados del proyecto (producto obtenido).  

Y se tiene implícita la realización de estas actividades:

-Análisis de requerimientos: en esta etapa se procede a recopilar todos los requisitos que

debe cumplir el software a desarrollar, el cliente aqui tiene un papel fundamental, ya que analiza
25

junto con los desarrolladores del software los requisitos que debe cumplir el software a

desarrollar.

- Diseño: esta etapa está enfocada hacia el desarrollo de un esbozo de la arquitectura, la

interfaz y el manejo de datos del software.

- Generación  de código: es cuando se implementa el diseño del software en algun lenguaje

de programación definido en el mismo diseño.

-  Pruebas: se hace una revisión de los procesos que realiza el software, para determinar que

esté haciendo lo planteado para cumplir con los requerimientos.

- Mantenimiento: se verifica el correcto funcionamiento del software en su entorno de uso, y

si existen errores o defectos, proceden a corregirlos. [ CITATION Rob12 \l 12298 ]

Modelo De Prototipo

El modelo de prototipos permite que todo el sistema, o algunos de sus partes, se construyan

rápidamente para comprender con facilidad y aclarar ciertos aspectos en los que se aseguren que

el desarrollador, el usuario, el cliente estén de acuerdo en lo que se necesita así como también la

solución que se propone para dicha necesidad y de esta forma minimizar el riesgo y la

incertidumbre en el desarrollo, este modelo se encarga del desarrollo de diseños para que estos

sean analizados y prescindir de ellos a medida que se adhieran nuevas especificaciones, es ideal

para medir el alcance del producto, pero no se asegura su uso real. 

Este modelo se encarga principalmente de ayudar al ingeniero de sistemas y al cliente a

entender de mejor manera cuál será el resultado de la construcción cuando los requisitos estén

satisfechos.  [CITATION GES11 \l 12298 ]

El paradigma de construcción de prototipos tiene tres pasos: 


26

Escuchar al cliente. Recolección de requisitos. Se encuentran y definen los objetivos globales,

se identifican los requisitos conocidos y las áreas donde es obligatorio más definición. 

 Construir y revisar la maqueta (prototipo). 

 El cliente prueba la maqueta (prototipo) y lo utiliza para refinar los requisitos del

software. 

Este modelo es útil cuando: 

 El cliente no identifica los requisitos detallados. 

 El responsable del desarrollo no está seguro de la eficiencia de un algoritmo, sistema

operativo o de la interface hombre-máquina.  [ CITATION GES11 \l 12298 ]

Etapas para la elaboración del modelo de prototipo.


27

Modelo “DRA”

Fases DRA=Desarrollo Rápido De Aplicaciones

• Modelado de Gestión

El flujo de información entre las funciones de gestión se modela de forma que responda a las

siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué información se

genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la proceso?

• Modelado de Datos

El flujo de información definido como parte de la fase de modelado de gestión se refina como

un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características

(llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos.

• Modelado de Procesos
28

Los objetos de datos definidos en la fase de modelado de datos quedan transformados para

lograr el flujo de información necesario para implementar una función de gestión.

Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de

datos. Es la comunicación entre los objetos.

• Generación de Aplicaciones

El DRA asume la utilización de técnicas de cuarta generación. En lugar de crear software con

lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar

componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables

(cuando sea necesario).

• Pruebas de Entrega

Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los

componentes de los programas. Esto reduce tiempo de pruebas.

Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las

interfaces a fondo. [ CITATION METsf \l 12298 ]

 
29

Modelo Evolutivo Incremental

El Modelo Incremental combina elementos del MLS con la filosofía interactiva de

construcción de prototipos.

En una visión genérica, el proceso se divide en 4 partes: Análisis, Diseño, Código y Prueba.

Sin embargo, para la producción del Software, se usa el principio de trabajo en cadena o

“Pipeline”, utilizado en muchas otras formas de programación. Con esto se mantiene al cliente en

constante contacto con los resultados obtenidos en cada incremento. Es el mismo cliente el que

incluye o desecha elementos al final de cada incremento a fin de que el software se adapte mejor

a sus necesidades reales. El proceso se repite hasta que se elabore el producto completo.

De esta forma el tiempo de entrega se reduce considerablemente.


30

El Modelo Incremental es particularmente útil cuando no se cuenta con una dotación de

personal suficiente. Los primeros pasos los pueden realizar un grupo reducido de personas y en

cada incremento se añadir• personal, de ser necesario. Por otro lado los incrementos se pueden

planear para gestionar riesgos técnicos. [ CITATION MODsf \l 12298 ]

- Se evitan proyectos largos y se entrega algo de valor a los usuarios con cierta frecuencia.

- El usuario se involucra más.

- Difícil de evaluar el coste total.

- Difícil de aplicar a los sistemas transaccionales que tienden a ser integrados y a operar como

un todo.

- Requiere gestores experimentados.

- Los errores en los requisitos se detectan tarde.

- El resultado puede ser muy positivo. [ CITATION MODsf \l 12298 ]

Modelo Evolutivo Espiral

Modelo Espiral

Es un modelo de desarrollo evolutivo propuesto por Barry Boehm, que utiliza

prototipos como apoyo. La forma de espiral representa una interacción (repetición) de

procesos que, a medida que se van entregando prototipos y éstos son revisados por
31

los clientes o usuarios finales, el tiempo empleado para desarrollar la próxima versión

es cada vez mayor. Cada división recibe el nombre de región de tareas.

Aunque el modelo espiral representa ventajas por sobre el desarrollo lineal, el

cálculo de los riesgos puede ser muy complicado y no es tan usado en la realidad.

[ CITATION LEOsf \l 12298 ]

Tipos

El modelo espiral tuvo varias modificaciones que son:

·  Modelo Original de Boehm.

·  Modelo Típico de Seis Regiones.

·  Modelo WINWIN.

Modelo Original De Boehm

Cada vuelta se divide en 4 sectores:

·  Planeación: determinación de los objetivos, alternativas y restricciones

·  Análisis de riesgo: análisis de alternativas e identificación/resolución de riesgos

·  Ingeniería: desarrollo del producto hasta "el siguiente nivel".


32

El movimiento de la espiral, ampliando con cada iteración su amplitud radial, indica que cada

vez se van construyendo versiones sucesivas del software, cada vez más completas.

Uno de los puntos más interesantes del modelo, es la introducción al proceso de desarrollo a

las actividades de análisis de los riesgos asociados al desarrollo y a la evaluación por parte del

cliente de los resultados del software.[ CITATION mar16 \l 12298 ]

Modelo Típico De Seis Regiones

Las regiones de tareas que componen este modelo son:

Comunicación con el cliente: las tareas requeridas para establecer comunicación entre el

desarrollador y el cliente.

•  Planificación: las tareas requeridas para definir recursos, el tiempo y otras informaciones

relacionadas con el proyecto. Son todos los requerimientos.

•  Análisis de riesgos: las tareas requeridas para evaluar riesgos técnicos y otras informaciones

relacionadas con el proyecto.


33

•  Ingeniería: las tareas requeridas para construir una o más representaciones de la aplicación.

•  Construcción y adaptación: las tareas requeridas para construir, probar, instalar y

proporcionar soporte al usuario.

•  Evaluación del cliente: las tareas requeridas para obtener la reacción del cliente según la

evaluación de las representaciones del software creadas durante la etapa de ingeniería e

implementación durante la etapa de instalación.[ CITATION mar16 \l 12298 ]

Modelo Winwin

El modelo en espiral WINWIN de Boehm, define un conjunto de actividades de negociación

al principio de cada paso alrededor de la espiral. Más que una simple actividad de comunicación

con el cliente se definen las siguientes actividades:

·  Identificación del sistema o subsistemas clave de los directivos.


34

·  Determinación de las condiciones de victoria de los directivos.

·  Negociación de las condiciones de victoria de los directivos para reunirlas en un conjunto

de condiciones para todos los afectados.[ CITATION mar16 \l 12298 ]

Modelo De Desarrollo Basado En Componente

Un componente es una pieza de código pre elaborado que encapsula alguna

funcionalidad expuesta a través de interfaces estándar. Es algo muy similar a lo que

podemos observar en el equipo de música que tenemos en nuestra sala. Cada

componente de aquel aparato ha sido diseñado para acoplarse perfectamente con sus

pares, las conexiones son estándar y el protocolo de comunicación está ya

preestablecido. Al unirse las partes, obtenemos música para nuestros oídos.

El paradigma de ensamblar componentes y escribir código para hacer que estos componentes

funcionen se conoce como Desarrollo de Software Basado en Componentes.

Desarrollo basado en componentes


35

El modelo de desarrollo basado en componentes incorpora muchas de las características del

modelo espiral. Es evolutivo por naturaleza y exige un enfoque interactivo para la creación del

software. Sin embargo, el modelo de desarrollo basado en componentes configura aplicaciones

desde componentes preparados de software (clases).

El modelo de desarrollo basado en componentes conduce ala reutilización del software, y la

reutilización proporciona beneficios a los ingenieros de software. Según estudios de

reutilización, QSM Associates, Inc. Informa que el ensamblaje de componentes lleva a una

reducción del 70 % del ciclo de desarrollo un 84% del coste del proyecto y un índice de

productividad del 26.2. No hay duda que el ensamblaje de componentes proporciona ventajas

significativas para los ingenieros del software.[ CITATION Cal10 \l 12298 ]

El desarrollo de software basado en componentes se ha convertido actualmente en uno de los

mecanismos más efectivos para la construcción de grandes sistemas y aplicaciones de software.

Una vez que la mayor parte de los aspectos funcionales de esta disciplina comienzan a estar

bien definidos, la atención de la comunidad científica comienza a centrarse en los aspectos extra

funcionales y de calidad, como un paso hacia una verdadera ingeniería. En este artículo se

discuten precisamente los aspectos de calidad relativos a los componentes software y a las

aplicaciones que con ellos se construyen, con especial énfasis en los estándares internacionales

que los definen y regulan, y en los problemas que se plantean en este tipo de entornos.

[ CITATION Cal10 \l 12298 ]


36

Beneficios del Desarrollo de Software Basado en Componentes

El uso de este paradigma posee algunas ventajas:

1. Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización de

software.

2. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los

componentes antes de probar el conjunto completo de componentes ensamblados.

3. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre

componentes, el desabollador es libre de actualizar y/o agregar componentes según sea

necesario, sin afectar otras partes del sistema.

4. Mayor calidad. Dado que un componente puede ser construido y luego mejorado

continuamente por un experto u organización, la calidad de una aplicación basada en

componentes mejorará con el paso del tiempo[ CITATION Cal10 \l 12298 ]


37

CONCLUSIONES

De acuerdo con este trabajo se puede concluir que el software es una parte muy importante y

que se aplica en todo, este ayuda a resolver problemas que facilitan la vida al ser humano,

siempre y cuando el software este desarrollado de forma correcta.

Otro de los aspectos más importante que se dieron a conocer es que para desarrollar un

software de calidad se necesita seguir varios pasos fundamentales, unas de sus características

primordiales es que debe cumplir con la necesidad para lo que fue creado.
38

Bibliografía

LEON BERMUDEZ, M. Z. (s.f. de s.f. de s.f.). ModelosProcesosDeSoftware. Obtenido de

[Link]

Robertinho. (07 de 02 de 2012). Ingenexescom. Obtenido de

[Link]

". s. (s.f. de s.f. de s.f.). OBC. Obtenido de [Link]

management/metodologia-agile/que-son-las-metodologias-de-desarrollo-de-software

"El Software y sus campos de aplicación". (s.f. de s.f. de s.f.). lsi. Obtenido de

[Link]

"Herramientas software". (s.f. de s.f. de s.f.). LSIIS . Obtenido de

[Link]

"ingenieria de software". (24 de 08 de 2010). analisisdesoftware1. Obtenido de

[Link]

"METODOLOGÍA DRA". (s.f. de s.f. de s.f.). Modelosdesoftware. Obtenido de

[Link]

"MODELO DE PROTOTIPO". (23 de 05 de 2011). Obtenido de

[Link]

"MODELO INCREMENTAL O EVOLUTIVO". (s.f. de s.f. de s.f.). Programacion

Estructurada. Obtenido de

[Link]

software/modelo-incremental-o-evolutivo

"REQUERIMIENTOS DEL SOFTWARE". (s.f. de s.f. de s.f.). Galeon. Obtenido de

[Link]
39

Calero, W. (08 de 10 de 2010). Ingenieria de Software. Obtenido de

[Link]

cavsi. (s.f. de s.f. de s.f.). CAVSI. Obtenido de

[Link]

Definista. (s.f. de s.f. de s.f.). [Link]. Obtenido de

[Link]

mariCh. (31 de 03 de 2016). BLOG DE MARICHELO. Obtenido de

[Link]

PRESSMAN. (s.f. de s.f. de 2002). YAQUI. Obtenido de

[Link]

Ruvalcaba, M. (s.f. de s.f. de s.f.). SG. Obtenido de [Link]

software

También podría gustarte