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






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