Software

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 18

SOFTWARE

HISTORIA
GESTION DE PROCESOS:
Tipos
Características
Metodologías
PROPUESTA DE TRABAJO:
Tipos
Características
Elaboración
HISTORIA

Desde sus inicios en la década de 1940, escribir software ha evolucionado hasta convertirse
en una profesión que se ocupa de cómo crear software y maximizar su calidad. La calidad
puede referirse a cuán sostenible es el software, su estabilidad, velocidad, usabilidad,
comprobabilidad, legibilidad, tamaño, costo, seguridad y número de fallas o "bugs“.
Así como, entre muchos otros atributos, a cualidades menos medibles como elegancia,
concisión y satisfacción del cliente. La mejor manera de crear software de alta calidad es un
problema separado y controvertido cubriendo el diseño de software, principios para escribir
código, llamados "mejores prácticas", así como cuestiones más amplias de gestión como
tamaño óptimo del equipo de trabajo, el proceso, la mejor manera de entregar el software a
tiempo y tan rápidamente como sea posible, la "cultura" del lugar de trabajo, prácticas de
contratación y así sucesivamente. Todo esto cae bajo la rúbrica general de ingeniería de
software.
DE 1955 A 1965: LOS ORÍGENES

El término ingeniería del software apareció por primera vez en la década de 1950
y principios de los años 1960. Los programadores siempre habían sabido sobre
ingenieros civiles, eléctricos y de computadores y debatían qué podría significar
la ingeniería para el software.

El Comité de ciencia de la OTAN patrocinó dos conferencias3​sobre ingeniería


del software en 1968 (Garmisch, Alemania — ver informe de la Conferencia) y
en 1969, que dio al campo su impulso inicial. Muchos creen que estas
conferencias marcaron el inicio oficial de la profesión de la ingeniería de
software.
DE 1960 A 1980: LA CRISIS DEL
SOFTWARE
La ingeniería de software fue estimulada por la llamada crisis del software de la
década de 1960, 1970 y 1980, La crisis del software originalmente fue definida
en términos de productividad, pero evolucionó para enfatizar la calidad. Algunos
utilizan el término de crisis del software para referirse a su incapacidad de
contratar programadores suficientemente calificados.

• Costo y desbordamiento de presupuesto: el sistema operativo OS/360 fue un ejemplo clásico. Este proyecto que duró
una década[cita requerida] desde los años 1960 finalmente produjo uno de los más complejos sistemas de software
de ese tiempo.

• Daños a la propiedad: Defectos de software pueden causar daños a la propiedad. Escasa seguridad de software
permite a hackers robar identidades, costando tiempo, dinero y reputaciones.

• Vida y muerte: Defectos de software pueden matar. Algunos sistemas embebidos en máquinas de radioterapia
fallaron de una manera tan catastrófica que administraron dosis letales de radiación a pacientes. La más famosa de
estas fallas es el incidente de Therac .
DE 1985 A 1989: NO HAY BALAS DE
PLATA

Durante décadas, solucionar la crisis del software fue de suprema importancia para
investigadores y empresas productoras de herramientas de software. El costo de
propiedad y mantenimiento del software en la década de 1980 fue dos veces más
caro que el propio desarrollo del software. Durante la década de 1990, el costo de
propiedad y mantenimiento aumentó en un 30% con respecto a la década anterior.
En 1995, las estadísticas mostraron que la mitad de los proyectos de desarrollo
encuestados estaban operacionales, pero no eran considerado exitoso. El proyecto
de software medio sobrepasa su estimación en tiempo en el 50%. Las tres cuartas
partes de todos los grandes productos de software son entregados al cliente con
tales fallas que no son usados en absoluto, o no cumplen con los requerimientos del
cliente.
DE 1990 A 1999: PROMINENCIA DE
INTERNET

El auge de la Internet condujo a un rápido crecimiento en la demanda de sistemas


internacionales de despliegue de información y correo electrónico en la World
Wide Web. Los programadores debían manejar ilustraciones, mapas, fotografías y
otras imágenes, más animación sencilla, a un ritmo nunca antes visto, con pocos
métodos conocidos para optimizar la visualización/almacenamiento de imágenes
(como el uso de imágenes en miniatura).
DE 2000 AL PRESENTE:
METODOLOGÍAS LIGERAS
Con la creciente demanda de software en muchas organizaciones pequeñas, la
necesidad de soluciones de software de bajo costo llevó al crecimiento de
metodologías más simples y rápidas que desarrollaran software funcional, de los
requisitos de implementación, más rápidos y más fáciles.
El uso de prototipos rápidos evolucionó a metodologías ligeras completas como
la programación extrema (XP), que intentó simplificar muchas las áreas de la
ingeniería de software, incluyendo la recopilación de requerimientos y las
pruebas de confiabilidad para el creciente y gran número de pequeños sistemas
de software. Sistemas de software muy grandes todavía utilizan metodologías
muy documentadas, con muchos volúmenes en el conjunto de documentación.
Sin embargo, sistemas más pequeños tenían un enfoque alternativo más simple y
rápido para administrar el desarrollo y mantenimiento de cálculos y algoritmos de
software, almacenamiento y recuperación de información y visualización.
TENDENCIAS ACTUALES EN LA
INGENIERÍA DE SOFTWARE
 Aspectos: Los aspectos ayudan a los ingenieros de software a lidiar con los
atributos de calidad al proporcionar herramientas para añadir o quitar código
repetitivo de muchas áreas en el código fuente.
 Ágil: El desarrollo ágil de software guía a los proyectos de desarrollo de
software que evolucionan rápidamente con cambiantes expectativas y
mercados competitivos.
 Experimental: La ingeniería de software experimental es una rama de la
ingeniería de software interesada en la elaboración de experimentos sobre el
software, en la recolección de datos de los experimentos y en la elaboración de
leyes y teorías desde estos datos.
 Model-driven: El diseño manejado por modelos desarrolla modelos textuales y
gráficos como artefactos primarios de diseño.
CARACTERISTICAS

El software es un sistema informático. Se trata de la parte intangible de una


computadora. Se diferencia del hardware, que es la parte material.

El software es una categoría amplia que incluye gran variedad de productos


informáticos, desde sistemas operativos hasta la parte intangible de juegos
electrónicos o los programas que permiten el funcionamiento de un avión.
Las características deseables en un producto de software son:

Corrección: Que cumpla con su objetivo.

Usabilidad: Que sea fácil de aprender.

Seguridad: Que sea resistente a ataques externo.

Flexibilidad: Que pueda ser modificado por los desarrolladores.

Portabilidad: Que pueda ser utilizado en diversos equipos.


METODOLOGIA EN SOFTWARE

Una Metodología de desarrollo de software, consiste principalmente en hacer uso


de diversas herramientas, técnicas, métodos y modelos para el desarrollo.

Regularmente las metodologías, tienen la necesidad de venir documentadas, para


que los programadores que estarán dentro de la planeación del proyecto,
comprendan perfectamente la metodología y en algunos casos el ciclo de vida del
software que se pretende seguir.
METODOLOGÍA EN CASCADA:
FRAMEWORK LINEAL.

El modelo de desarrollo de Software en cascada, es una metodología de la


programación muy antigua. Si bien su creador nunca lo menciona como
metodología en cascada, el funcionamiento y lineamiento de los procesos de la
planeación, son exactamente iguales.

Básicamente, el estilo del modelo en cascada, es que no podrás avanzar a la


siguiente fase, si la anterior no se encuentra totalmente terminada, pues no tiene
porque haber vuelta atrás.
 Vamos a ver cuales son las fases de desarrollo de software del modelo en cascada, para que te
puedas dar una idea.

 1. Análisis de Requisitos.
 2. Diseño del Sistema.
 3. Diseño del Programa.
 4. Codificación.
 5. Ejecución de Pruebas.
 6. Verificación.
 7. Mantenimiento.
MÉTODO DE PROTOTIPOS

Esta metodología de la programación todavía sigue siendo la favorita de muchos.


Consiste básicamente en que en base a los requerimientos y necesidades que tiene
el cliente, se realiza de forma rápida un prototipo, este no vendrá completo ni
mucho menos terminado, pero si permitirá contar con las bases necesarias para
que cualquier programador pueda seguir trabajando en el hasta llegar al código
final.
vamos a ver cuales son las etapas de desarrollo de software por las cuales tendrás que pasar,
en caso de utilizar la metodología de prototipos.

1. Planeación. A diferencia de otras metodologías, la planeación debe ser muy rápida, en esta
fase no puedes demorarte mucho, pues recuerda que solamente será un prototipo por el
momento.

2. Modelado. Nuevamente, una fase que deberá ser suficientemente rápida como para que no
nos quite nada de tiempo. Hacer el modelado será simple y te sigo recordando que solamente
es un prototipo, al menos por ahora.

3. Elaboración del Prototipo. Ya que contamos con la planeación de lo que vamos a realizar y
el modelado rápido, entonces es momento de elaborar el prototipo. Para esta instancia, ya no
te diré que lo debes hacer rápido, puesto que te tomará el tiempo que tenga sea necesario
elaborarlo, recuerda que este ya se muestra al cliente, así que ya es una fase importante.
 4. Desarrollo. Posterior a contar con el prototipo elaborado y mostrado al cliente, es momento de
comenzar el desarrollo. Este te tomará una gran cantidad de tiempo, dependiendo del tamaño del
proyecto y el lenguaje de programación que se vaya a utilizar.

 5. Entrega y Retroalimentación. Una de las cosas con las que cuenta el modelo de prototipos, es que
una ves entregado el proyecto, debemos darle al cliente cierta retroalimentación sobre como utilizarlo y
ciertamente es una fase que se encuentra dentro de las etapas de desarrollo de software esta
metodología.

 6. Comunicación con el Cliente. Es importante que una ves entregado el proyecto, tengamos cierta
comunicación con el cliente, básicamente para que nos indique si el proyecto es correcto o si desea
agregarle ciertas funciones, nuestra metodología lo permite. Si fuera en modo cascada, entonces seria
algo realmente imposible de hacer.

 7. Entrega del Producto Final. Por último, solamente quedará entregar el sistema elaborado mediante
esta metodología. Aquí tendrás la ventaja de que el código es reutilizable, para que así con el prototipo
ya puedas simplemente empezar de nuevo y con una buena base de código que te acelerará el proceso.
MODELO INCREMENTAL O ITERATIVO
Y CRECIENTE

El modelo Incremental, es una metodología de la programación muy utilizada


hoy en día, pues su comodidad de desarrollo permite que te obtenga un producto
final mucho más completo y exitoso.

Se trata especialmente de la combinación de los modelos lineal e iterativo o bien,


modelo de cascada y prototipos. Básicamente consiste en completar varias
iteraciones de lo que es el modelo de cascada, pero sin completar ninguna,
haciendo iteraciones lo que se hace es crear una evolución en el producto,
permitiendo que se agreguen nuevas especificaciones, funcionalidades, opciones,
funciones y lo que el usuario requiera después de cada iteración.
MODELO EN ESPIRAL
El modelo en espiral, fue utilizado y diseñado por primera ves por Barry Boehm en
1986. Se trata nuevamente de una combinación entre el modelo lineal o de cascada
y el modelo iterativo o basado en prototipos, sin embargo a este sistema lo que
debemos añadirle es la gestión de riesgos, algo que en los modelos anteriores ni
siquiera se menciona.

Este modelo, consiste en ciertas fases que se van realizando en modo de espiral, utilizando
procesos de la misma forma en que se utilizan en el modelo de cascada, sin embargo aquí
estos no son obligatorios y no llevan precisamente el orden establecido. Básicamente se trata
de un modelo evolutivo, que conforme avancen los ciclos, irá incrementando el nivel de
código fuente desarrollado, un incremento en la gestión de riesgos y por supuesto un
incremento en los tiempos de ejecución y planificación del sistema, esto es lo que tiene el
modelo en espiral.

También podría gustarte