jueves, 21 de enero de 2016

DESARROLLO DE SOFTWARE

 DESARROLLO DE SOFTWARE

v  DEFINICION
Desarrollar un software significa construirlo simplemente mediante su descripción. Esta es una muy buena razón para considerar la actividad de desarrollo de software como una ingeniería. En un nivel más general, la relación existente entre un software y su entorno es clara ya que el software es introducido en el mundo de modo de provocar ciertos efectos en el mismo.
Aquellas partes del mundo que afectarán al software y que serán afectadas por él será el Dominio de Aplicación. Es allí donde los usuarios o clientes observarán si el desarrollo del software ha cumplido su propósito.
Una de las mayores deficiencias en la práctica de construcción de software es la poca atención que se presta a la discusión del problema. En general los desarrolladores se centran en la solución dejando el problema inexplorado. El problema a resolver debe ser deducido a partir de su solución.
Esta aproximación orientada a la solución puede funcionar en campos donde todos los problemas son bien conocidos, clasificados e investigados, donde la innovación se ve en la detección de nuevas soluciones a viejos problemas.
Pero el desarrollo de software no es un campo con tales características. La versatilidad de las computadoras y su rápida evolución hace que exista un repertorio de problemas en constante cambio y cuya solución software sea de enorme importancia.

v  ACTIVIDADES

Planificación

La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software.
Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional.

Implementación, pruebas y documentación

La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto.
Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible.
La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior.

Despliegue y mantenimiento

El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.
Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.
El mantenimiento o mejora del software de un software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de mantenimiento.
MODELOS
MODELO CASCADA
Desarrollo iterativo y creciente (o incremental) es un proceso de desarrollo de software creado en respuesta a las debilidades del modelo tradicional de cascada.
Básicamente este modelo de desarrollo, que no es más que un conjunto de tareas agrupadas en pequeñas etapas repetitivas (iteraciones),1 es uno de los más utilizados en los últimos tiempos ya que, como se relaciona con novedosas estrategias de desarrollo de software y una programación extrema, es empleado en metodologías diversas.
Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riesgo.

Un ejemplo de una metodología de desarrollo en cascada es:

Análisis de requisitos.
Diseño del Sistema.
Diseño del Programa.
Codificación.
Pruebas.
Verificación.
Mantenimiento.


El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción.
Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software.
El mantenimiento o mejora del software de un software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de mantenimiento.
MODELO PROTOTIPOS
El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos de desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar muchos recursos.
El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente o el usuario final. Este diseño conduce a la construcción de un prototipo, el cual es evaluado por el cliente para una retroalimentación; gracias a ésta se refinan los requisitos del software que se desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el desarrollador entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo.
ETAPAS:
Plan rápido.
Modelado, diseño rápido
Construcción del Prototipo
Desarrollo, entrega y retroalimentación
Comunicación
Entrega del desarrollo final

MODELO ESPIRAL
El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986,1 utilizado generalmente en la Ingeniería de software. Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior.
Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riesgo.
MODELO DESARROLLO POR ETAPAS
El modelo de desarrollo de software por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
Pueden distinguirse las siguientes fases:
Especificación conceptual
Análisis de requisitos
Diseño inicial
Diseño detallado, codificación, depuración y liberación
Básicamente consiste en una serie de ciclos que se repiten en forma de espiral, comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así. El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riesgo.
MODELO ITERATIVO
Desarrollo iterativo y creciente (o incremental) es un proceso de desarrollo de software creado en respuesta a las debilidades del modelo tradicional de cascada.
Básicamente este modelo de desarrollo, que no es más que un conjunto de tareas agrupadas en pequeñas etapas repetitivas (iteraciones), es uno de los más utilizados en los últimos tiempos ya que, como se relaciona con novedosas estrategias de desarrollo de software y una programación extrema, es empleado en metodologías diversas.
El modelo consta de diversas etapas de desarrollo en cada incremento, las cuales inician con el análisis y finalizan con la instauración y aprobación del sistema.

Diseño detallado, codificación, depuración y liberación.



  RESUMEN 

Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su empresa y desea que sea solucionado, para esto existe el analista de sistema quien es el encargado de hacerle llegar todos los requerimientos y necesidades que tiene el cliente a los programadores quienes son las personas encargadas de realizar lo que es la codificación y diseño del sistema para después probarlo y lo instalan al cliente. Es así como intervienen varias personas ya que una sola persona no podría determinar todo lo necesario lo mas seguro que le haga falta algún requerimiento o alguna parte del nuevo sistema y entre mas estén involucradas mejor para cubrir con todos los requerimientos del sistema.


SUMMARY

When will develop software involved many people as it is the client who is the one with the problem in your company and want it to be solved, for this there is a system analyst who is responsible for bringing you all the requirements and needs has the client programmers who are in charge of doing what is the coding and design of the system and then try and install the client. Thus, several people involved and that one person could not determine everything necessary so safer than any requirement you need it or any part of the new system and the more involved are best to meet all the requirements of the system.
                       

RECOMENDACIONES
En la actualidad, el software es un común denominador entre la gente, ya sea en un nivel educativo, profesional, laboral o personal. La informática se ha vuelto indispensable en el vivir diario de la gente, esta importancia ha hecho que sea todavía más importante el desarrollo de software, esto debido a que cada día la gente demanda más calidad en los servicios informáticos, de tal manera que siempre se necesita estar actualizado en el software, para esto es indispensable  estar en un continuo desarrollo de todo tipo de software existente.Se puede ver la importancia del desarrollo de software, en los sistemas que constantemente se están actualizando


CONCLUSIONES   
Podemos concluir en que la informática es un punto vital de nuestra vida diaria, los sistemas son imprescindibles en la informática, cada software es un órgano vital de un sistema, el desarrollo de software es muy importante porque es el que nos da el software final y finalmente el Técnico en desarrollo de software es quien empieza la cadena al desarrollar el software haciendo que todo lo que es informática sea posible.


APRECIACIÓN DEL EQUIPO
Este trabajo es muy  importante a la hora que tenemos que crear un producto de software ya que podemos obtener los requisitos o el análisis del requisitos .
Es una buena razón para considerar la actividad de desarrollo de software como una ingeniería.

GLOSARIO DE TÉRMINOS 
ABSTRACTA: Que resulta difícil de entender por tener el carácter esquemático y poco concreto de lo que se obtiene por abstracción.
API: Una API (siglas de 'Application Programming Interface') es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.
ITERATIVO: Que se repite o se ha repetido muchas veces.
ABSTRACTA: Que resulta difícil de entender por tener el carácter esquemático y poco concreto de lo que se obtiene por abstracción.
API: Una API (siglas de 'Application Programming Interface') es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes de la misma manera en que la interfaz de usuario facilita la interacción humano-software.
ITERATIVO: Que se repite o se ha repetido muchas veces.
CONFINAR: Obligar a alguien a permanecer en un lugar o encerrarlo en él.
PROTOTIPO: Persona o cosa que reúne en grado máximo las características principales de cierto tipo de cosas y puede representarlas.
DESPLIEGUE : Extensión o desarrollo de lo que está plegado o doblado:
SIMULTÁNEAMENTE : De forma simultánea, al mismo tiempo.
DIMENSIONES : es un número relacionado con las propiedades métricas o topológicas de un objeto matemático. La dimensión de un objeto es una medida topológica del tamaño de sus propiedades de recubrimiento.
TRANSICIONES: Las transiciones son efectos de movimiento que se ven a medida que avanzas entre diapositiva y diapositiva. Hay muchas para elegir, cada una de ellas te permitirá controlar la velocidad e incluso añadir sonido.
EXTENSIBLE: Que puede ser extendido

BIBLIOGRAFÍA O LINKOGRAFÍA
http://ldc.usb.ve/~mgoncalves/IS2/sd07/clase1.pdf
http://www.academia.edu/8842504/IMPORTANCIA_DEL_DESARROLLO_DE_SOFTWARE
http://www.monografias.com/trabajos39/desarrollo-del-software/desarrollo-del-software.shtml



1 comentario:

  1. Buen trabajo. Por favor agregar vídeos sobre el tema. Falta la PRESENTACIÓN en Power Point publicado en SLIDERSHARE. Saludos

    ResponderEliminar