SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Universidad Tecnológica de Hermosillo
Tecnologías de la Información y Comunicación

Ingeniería de Software II
Definiciones en la Ingeniería de Software

Prof. José Padilla Duarte

Alumno
Ornelas Muñiz David
Grupo
TICSi 5-2

Hermosillo, Sonora a 14 de Enero de 2014
Introducción
La ingeniería del software persigue la producción de sistemas de calidad a bajo
coste y a tiempo, explicare estos 3 conceptos más a fondo:

Sistemas de Calidad: La calidad de un sistema viene definida por el
cumplimiento de los objetivos establecidos para el sistema.

Bajo costo: El coste de un sistema debe incluir tanto el coste de desarrollo
como el de mantenimiento.

A tiempo: En unos plazos preestablecidos y que vienen garantizados por el
establecimiento de una secuencia de actividades a llevar a cabo.

El software es ahora la clave del exito de muchos de los sistemas basados en
computadora. El software marca la diferencia. Lo que diferencia una compañía
de otra es la suficiencia, exactitud y oportunidad de la información dada por el
software, por eso la importancia de tener una ciencia que de normas para la
creación de este, por eso nacio la ingeniería de software.
Glosario
Crisis del software. Término acuñado en 1968, en la primera conferencia de la
NATO sobre desarrollo de software, con el que se identificaron los problemas
que surgían en el desarrollo de sistemas de software.

Implementación. Proceso de transformación de un diseño en componentes de
hardware, software o de ambos. Ver también: codificación.

Ingeniería del software. Aplicación de procesos sistemáticos y disciplinados
para el desarrollo, operación y mantenimiento de software.

Mantenimiento. Proceso de modificación de un sistema de software o de un
componente, después de su puesta en funcionamiento para corregir fallos,
mejorar el rendimiento u otros atributos, o adaptarlo a modificaciones del
entorno.

Modelo de ciclo de vida. Representación del ciclo de vida del software.
Ingeniería de Software
Definición de ingeniería: Para entender la definición de ingeniería de
software, primero debemos saber que es ingeniería, esta es la profesión en la
cual los conocimientos de las ciencias físicas y matemáticas adquiridas
mediante el estudio, la experiencia y la práctica se aplican con buen juicio a
desarrollar los sistemas para aprovechar económica y ambientalmente los
materiales y las fuerzas de la naturaleza para la creciente prosperidad de la
humanidad.

Definición de ingeniería de Software: La IS es el establecimiento y uso de
sólidos principios de ingeniería y buenas prácticas de gestión, así como la
evolución de herramientas y métodos aplicables y su uso cuando sea
apropiado para obtener, dentro de las limitaciones de recursos existentes,
software que sea de alta calidad en un sentido explícitamente definido.

Inicios
Aunque no hay consenso, el origen del término se atribuye a dos conferencias
organizadas por la OTAN en 1967 y 1968. Ambas conferencias fueron
convocadas para tratar la llamada crisis del software.La llamada crisis del
software es todavía hoy un problema no resuelto.
La “Crisis del Software” se le conoce a una etapa en la que todos los
programas desarrollados se corregían cuando
había fallos o modificados a necesidades cambiantes, requerían de altos
esfuerzos por mantenerlos, con mayor costo a medida
que la complejidad del software crecía.
En las pasadas décadas los ejecutivos y desarrolladores se hacían las
siguientes preguntas:

¿ Por qué lleva tanto tiempo terminar los programas ?
¿ Por qué es tan elevado el costo ?
¿ Por qué no podemos detectar los errores antes de entregar el software a los
clientes ?
¿ Por qué resulta tan difícil constatar el progreso del desarrollo del software ?

Estas y otras preguntas manifiestan el carácter del software y la forma en que
se desarrolla, estos problemas hacen necesaria la adopción de técnicas de
Ingeniería de Software.

IMPORTANCIA
El software es ahora la clave del exito de muchos de los sistemas basados en
computadora. El software marca la diferencia. Lo que diferencia una compañia
de otra es la suficiencia, exactitud y oportunidad de la información dada por el
software.
El desarrollo de software se ha convertido en una industria con crecimiento
vertical en los ultimos años, hoy por hoy uno de los hombres mas ricos del
mundo es el dueño de una casa de software, Microsoft.

Hace un par de decadas se sostenia la teoria de que los paises que poseian
los mejores recursos naturales estaban destinados a ser los mas ricos y
poderosos del mundo, en México por ejemplo, se manejo la idea de que el
petróleo era la puerta de entrada grande al mundo desarrollado.
Indudablemente los recursos naturales tienen un papel importante en la
economia de los paises, sin embargo poco a poco se fue acuñando una nueva
ideología que se sintetiza en lo siguiente:

“El que posee la información y el conocimiento y hace mejor uso de él, es el
que tiene el poder”.

Utilidad


Facilitar el control en el proceso de desarrollo de software



Siminstrar a los desarrolladores las bases para construir software de alta
calidad en una forma eficiente.


Definir una disciplina que garantice la producción y el mantenimiento de
los productos de software desarrollados en el plazo fijado y entro del
costo estimado.

Tipos de aplicaciones de cómputo
Hay muchas maneras de clasificar a los programas de computadoras. Por
ejemplo uno podría definirlos por función: procesador de textos, hojas de
cálculo, gráficos, preparación de impuestos, anti-virus y demás. Los
programas

de computadoras

podrían

computadora o unidad principal

ser

agrupados

por

tipo

de

contra computadora personal.

La

agrupación amplia más útil es por tipo, como lo explico abajo.

Lenguajes de programación
Para poder desarrollar cualquier tipo de programa para computadora, debe
estar escrito en uno de los lenguajes de programación que traduce los
comandos a la acción de la computadora.

Programas de aplicación
Cuando estás trabajando en una computadora para escribir, calcular,
mandar correos electrónicos, navegar en Internet, o evitar ataques de virus
a la máquina, todos estos son ejemplos de programas de aplicación.

Programas utilitarios
Generalmente, los programas utilitarios están escritos para resolver un tipo
de

problema

particular

o

para

realizar

una

acción

única.

Algunos ejemplos son los parches para actualizar algún programa, convertir
archivos o hacer copias de seguridad o para revisar las funciones de la
computadora.
Programas de entretenimiento
Mientras algunos pueden considerar los programas de juegos como otra
aplicación, el gran número, el propósito distinguido de estos programas y su
alto uso justifican una categoría separada.
Programas de sistema
Ninguno de los tipos de programa anteriores podrían funcionar sin un
programa de sistemas o sistema operativo subyacente, que controla los
componentes de la computadora.

Software Engineering Institute (SEI)
Software Engineering Institute (SEI) es un instituto federal estadounidense
de investigación y desarrollo, fundado por Congreso de los Estados
Unidos en 1984 para desarrollar modelos de evaluación y mejora en el
desarrollo de software, que dieran respuesta a los problemas que generaba
al ejército estadounidense la programación e integración de los subsistemas de software en la construcción de complejos sistemas militares.
Financiado por el

Departamento de Defensa de los Estados Unidos y

administrado por la Universidad Carnegie Mellon.

W3C
W3C son las siglas de World Wide Web Consorcio, un consorcio fundado
en 1994 para dirigir a la Web hacia su pleno potencial mediante el
desarrollo de protocolos comunes que promuevan su evolución y aseguren
su interoperabilidad.El consorcio está compuesto por un grupo de
programadores, desarrolladores web, ejecutivos de la industria y usuarios
que ayudan a definir las especificaciones para el desarrollo de la tecnología
web.
Modelos y Filosofías del Desarrollo de Software
Modelo en cascada
Es un proceso secuencial de desarrollo en el que los pasos de desarrollo
son vistos hacia abajo (como en una cascada de agua) a través de las fases
de análisis de las necesidades, el diseño, implantación, pruebas
(validación), la integración, y mantenimiento. La primera descripción formal
del modelo de cascada se cita a menudo a un artículo publicado por
Winston Royce W. en 1970, aunque Royce no utiliza el término "cascada"

Prototipado
El prototipado es el framework de actividades dedicada al desarrollo de
software prototipo, es decir, versiones incompletas del software a
desarrollar.

Incremental
Provee una estrategia para controlar la complejidad y los riesgos,
desarrollando una parte del producto software reservando el resto de
aspectos para el futuro.

Espiral
Modelo Espiral, propuesto originalmente por Boehm, es un modelo de
proceso de software evolutivo que conjuga la naturaleza iterativa de
construcción de prototipos con los aspectos controlados y sistemáticos del
modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido
de versiones incrementales del software.
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos:
determinar objetivos, alternativas, y desencadenantes de la iteración;
Evaluar alternativas; Identificar y resolver los riesgos; desarrollar y verificar
los resultados de la iteración, y plan de la próxima iteración.
CICLO DE VIDA DEL SOFTWARE
Es la forma mediante la cual se describen los diferentes pasos que se
deben seguir para el desarrollo de un software, partiendo desde una
necesidad hasta llegar a la puesta en marcha de una solución y su
apropiado mantenimiento. El ciclo de vida para un software comienza
cuando se tiene la necesidad de resolver un problema, y termina cuando el
programa que se desarrolló para cumplir con los requerimientos, deja de ser
utilizado.
Existen varias versiones del ciclo de vida del software entre las cuales se
destacan: el ciclo de vida clásico o en cascada, el modelo en espiral, el
desarrollo de prototipos, el modelo por incrementos y el modelo extremo.
Modelo
Arquitectura de Software
La arquitectura de software es un conjunto de patrones que proporcionan un
marco de referencia necesario para guiar la construcción de un software,
permitiendo a los programadores, analistas y todo el conjunto de
desarrolladores del software compartir una misma línea de trabajo y cubrir
todos los objetivos y restricciones de la aplicación. Es considerada el nivel
más alto en el diseño de la arquitectura de un sistema puesto que
establecen la estructura, funcionamiento e interacción entre las partes del
software.

Modelos o vistas
*La visión estática: describe qué componentes tiene la arquitectura.

*La visión funcional: describe qué hace cada componente.

*La visión dinámica: describe cómo se comportan los componentes a lo
largo del tiempo y cómo interactúan entre sí.

Conclusión
Aunque la crisis del software no a terminado, esta se a reducido gracias al
uso de esta ingeniería, ya que al llevar estos pasos y pautas establecidas
con esta ciencia, hace la creación de nuevo software y su manutención con
mas calidad y mucho mas funcional.
Bibliografía
http://www.ecured.cu/index.php/Arquitectura_de_software
http://www.slideshare.net/XKWDX/ingeniera-de-softwaredefinicioninicionimportancia-y-utilidad
http://www.itlalaguna.edu.mx/academico/carreras/sistemas/ingsofware1/Unidad1.pd
f
http://webdiis.unizar.es/~zarazaga/workPage/docencia/ingSoft1/trasparencias/is1_01
.pdf

Weitere ähnliche Inhalte

Was ist angesagt?

Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
Unidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de SoftwareUnidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de SoftwareMary Carmen
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Softwarerapa69
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 
Ingeniería del software ensayo
Ingeniería del software ensayoIngeniería del software ensayo
Ingeniería del software ensayoValentino Crocetta
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software Monica Glez
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareMonica Glez
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software Luis Valeriano
 
Ciclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deCiclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deGABRIELCASTROMARIACA
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwareSamuelSanchez136
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9Luis Eduardo Pelaez Valencia
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitosCarlos Vega Valqui
 

Was ist angesagt? (16)

Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
Unidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de SoftwareUnidad 1 Introducción a la Ingeniería de Software
Unidad 1 Introducción a la Ingeniería de Software
 
Diapositivas De Ingenieria De Software
Diapositivas De Ingenieria De SoftwareDiapositivas De Ingenieria De Software
Diapositivas De Ingenieria De Software
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Ingeniería del software ensayo
Ingeniería del software ensayoIngeniería del software ensayo
Ingeniería del software ensayo
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Ensayo fsi --
Ensayo fsi --Ensayo fsi --
Ensayo fsi --
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Ingeniería de Software
Ingeniería de Software Ingeniería de Software
Ingeniería de Software
 
Ciclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_deCiclo de vida_clasicos_y_paradigma_tradicional_de
Ciclo de vida_clasicos_y_paradigma_tradicional_de
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Presentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del softwarePresentacion Ciclo de vida- Ingenieria del software
Presentacion Ciclo de vida- Ingenieria del software
 
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
SQA-Sesión 01-Presentación de Fundamentos SQA-16x9
 
Evolucion del software crisis y mitos
Evolucion del software crisis y mitosEvolucion del software crisis y mitos
Evolucion del software crisis y mitos
 

Ähnlich wie Ornelas muñizdavid actividad1.1_grupo_si5-2

Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosRafael Fdo Lopez Castillo
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)denny osael lopez medina
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software jevo1994
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del softwareNagut
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de softwareITSPR
 
Software de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcSoftware de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcdianafani
 
Ingenieria del Softaware. Seún Glenn Brookshear
Ingenieria del Softaware. Seún Glenn BrookshearIngenieria del Softaware. Seún Glenn Brookshear
Ingenieria del Softaware. Seún Glenn BrookshearCarlos Escobar
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareJORGE MONGUI
 

Ähnlich wie Ornelas muñizdavid actividad1.1_grupo_si5-2 (20)

Morales aguirreguillermo
Morales aguirreguillermoMorales aguirreguillermo
Morales aguirreguillermo
 
Ensayo (El Software)
Ensayo (El Software)Ensayo (El Software)
Ensayo (El Software)
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
SeccióN De TéCnicas De IngenieríA De Software(2007)
SeccióN De TéCnicas  De IngenieríA De Software(2007)SeccióN De TéCnicas  De IngenieríA De Software(2007)
SeccióN De TéCnicas De IngenieríA De Software(2007)
 
Ingeniería de software
Ingeniería de software Ingeniería de software
Ingeniería de software
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
Ingenieria de Software
Ingenieria de Software Ingenieria de Software
Ingenieria de Software
 
JavierPerez_Ing
JavierPerez_IngJavierPerez_Ing
JavierPerez_Ing
 
6. is construcción del software
6. is construcción del software6. is construcción del software
6. is construcción del software
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Fundamentos de ingenieria de software
Fundamentos de ingenieria de softwareFundamentos de ingenieria de software
Fundamentos de ingenieria de software
 
Software de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºcSoftware de ingeniería.diana.2ºc
Software de ingeniería.diana.2ºc
 
Ingenieria del Softaware. Seún Glenn Brookshear
Ingenieria del Softaware. Seún Glenn BrookshearIngenieria del Softaware. Seún Glenn Brookshear
Ingenieria del Softaware. Seún Glenn Brookshear
 
sofware libre
sofware libre sofware libre
sofware libre
 
Metodologiasde desarrollo de software
Metodologiasde desarrollo de softwareMetodologiasde desarrollo de software
Metodologiasde desarrollo de software
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 

Ornelas muñizdavid actividad1.1_grupo_si5-2

  • 1. Universidad Tecnológica de Hermosillo Tecnologías de la Información y Comunicación Ingeniería de Software II Definiciones en la Ingeniería de Software Prof. José Padilla Duarte Alumno Ornelas Muñiz David Grupo TICSi 5-2 Hermosillo, Sonora a 14 de Enero de 2014
  • 2. Introducción La ingeniería del software persigue la producción de sistemas de calidad a bajo coste y a tiempo, explicare estos 3 conceptos más a fondo: Sistemas de Calidad: La calidad de un sistema viene definida por el cumplimiento de los objetivos establecidos para el sistema. Bajo costo: El coste de un sistema debe incluir tanto el coste de desarrollo como el de mantenimiento. A tiempo: En unos plazos preestablecidos y que vienen garantizados por el establecimiento de una secuencia de actividades a llevar a cabo. El software es ahora la clave del exito de muchos de los sistemas basados en computadora. El software marca la diferencia. Lo que diferencia una compañía de otra es la suficiencia, exactitud y oportunidad de la información dada por el software, por eso la importancia de tener una ciencia que de normas para la creación de este, por eso nacio la ingeniería de software.
  • 3. Glosario Crisis del software. Término acuñado en 1968, en la primera conferencia de la NATO sobre desarrollo de software, con el que se identificaron los problemas que surgían en el desarrollo de sistemas de software. Implementación. Proceso de transformación de un diseño en componentes de hardware, software o de ambos. Ver también: codificación. Ingeniería del software. Aplicación de procesos sistemáticos y disciplinados para el desarrollo, operación y mantenimiento de software. Mantenimiento. Proceso de modificación de un sistema de software o de un componente, después de su puesta en funcionamiento para corregir fallos, mejorar el rendimiento u otros atributos, o adaptarlo a modificaciones del entorno. Modelo de ciclo de vida. Representación del ciclo de vida del software.
  • 4. Ingeniería de Software Definición de ingeniería: Para entender la definición de ingeniería de software, primero debemos saber que es ingeniería, esta es la profesión en la cual los conocimientos de las ciencias físicas y matemáticas adquiridas mediante el estudio, la experiencia y la práctica se aplican con buen juicio a desarrollar los sistemas para aprovechar económica y ambientalmente los materiales y las fuerzas de la naturaleza para la creciente prosperidad de la humanidad. Definición de ingeniería de Software: La IS es el establecimiento y uso de sólidos principios de ingeniería y buenas prácticas de gestión, así como la evolución de herramientas y métodos aplicables y su uso cuando sea apropiado para obtener, dentro de las limitaciones de recursos existentes, software que sea de alta calidad en un sentido explícitamente definido. Inicios Aunque no hay consenso, el origen del término se atribuye a dos conferencias organizadas por la OTAN en 1967 y 1968. Ambas conferencias fueron convocadas para tratar la llamada crisis del software.La llamada crisis del software es todavía hoy un problema no resuelto. La “Crisis del Software” se le conoce a una etapa en la que todos los programas desarrollados se corregían cuando había fallos o modificados a necesidades cambiantes, requerían de altos esfuerzos por mantenerlos, con mayor costo a medida que la complejidad del software crecía. En las pasadas décadas los ejecutivos y desarrolladores se hacían las siguientes preguntas: ¿ Por qué lleva tanto tiempo terminar los programas ? ¿ Por qué es tan elevado el costo ? ¿ Por qué no podemos detectar los errores antes de entregar el software a los clientes ?
  • 5. ¿ Por qué resulta tan difícil constatar el progreso del desarrollo del software ? Estas y otras preguntas manifiestan el carácter del software y la forma en que se desarrolla, estos problemas hacen necesaria la adopción de técnicas de Ingeniería de Software. IMPORTANCIA El software es ahora la clave del exito de muchos de los sistemas basados en computadora. El software marca la diferencia. Lo que diferencia una compañia de otra es la suficiencia, exactitud y oportunidad de la información dada por el software. El desarrollo de software se ha convertido en una industria con crecimiento vertical en los ultimos años, hoy por hoy uno de los hombres mas ricos del mundo es el dueño de una casa de software, Microsoft. Hace un par de decadas se sostenia la teoria de que los paises que poseian los mejores recursos naturales estaban destinados a ser los mas ricos y poderosos del mundo, en México por ejemplo, se manejo la idea de que el petróleo era la puerta de entrada grande al mundo desarrollado. Indudablemente los recursos naturales tienen un papel importante en la economia de los paises, sin embargo poco a poco se fue acuñando una nueva ideología que se sintetiza en lo siguiente: “El que posee la información y el conocimiento y hace mejor uso de él, es el que tiene el poder”. Utilidad  Facilitar el control en el proceso de desarrollo de software  Siminstrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.
  • 6.  Definir una disciplina que garantice la producción y el mantenimiento de los productos de software desarrollados en el plazo fijado y entro del costo estimado. Tipos de aplicaciones de cómputo Hay muchas maneras de clasificar a los programas de computadoras. Por ejemplo uno podría definirlos por función: procesador de textos, hojas de cálculo, gráficos, preparación de impuestos, anti-virus y demás. Los programas de computadoras podrían computadora o unidad principal ser agrupados por tipo de contra computadora personal. La agrupación amplia más útil es por tipo, como lo explico abajo. Lenguajes de programación Para poder desarrollar cualquier tipo de programa para computadora, debe estar escrito en uno de los lenguajes de programación que traduce los comandos a la acción de la computadora. Programas de aplicación Cuando estás trabajando en una computadora para escribir, calcular, mandar correos electrónicos, navegar en Internet, o evitar ataques de virus a la máquina, todos estos son ejemplos de programas de aplicación. Programas utilitarios Generalmente, los programas utilitarios están escritos para resolver un tipo de problema particular o para realizar una acción única. Algunos ejemplos son los parches para actualizar algún programa, convertir archivos o hacer copias de seguridad o para revisar las funciones de la computadora. Programas de entretenimiento Mientras algunos pueden considerar los programas de juegos como otra aplicación, el gran número, el propósito distinguido de estos programas y su alto uso justifican una categoría separada.
  • 7. Programas de sistema Ninguno de los tipos de programa anteriores podrían funcionar sin un programa de sistemas o sistema operativo subyacente, que controla los componentes de la computadora. Software Engineering Institute (SEI) Software Engineering Institute (SEI) es un instituto federal estadounidense de investigación y desarrollo, fundado por Congreso de los Estados Unidos en 1984 para desarrollar modelos de evaluación y mejora en el desarrollo de software, que dieran respuesta a los problemas que generaba al ejército estadounidense la programación e integración de los subsistemas de software en la construcción de complejos sistemas militares. Financiado por el Departamento de Defensa de los Estados Unidos y administrado por la Universidad Carnegie Mellon. W3C W3C son las siglas de World Wide Web Consorcio, un consorcio fundado en 1994 para dirigir a la Web hacia su pleno potencial mediante el desarrollo de protocolos comunes que promuevan su evolución y aseguren su interoperabilidad.El consorcio está compuesto por un grupo de programadores, desarrolladores web, ejecutivos de la industria y usuarios que ayudan a definir las especificaciones para el desarrollo de la tecnología web.
  • 8. Modelos y Filosofías del Desarrollo de Software Modelo en cascada Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implantación, pruebas (validación), la integración, y mantenimiento. La primera descripción formal del modelo de cascada se cita a menudo a un artículo publicado por Winston Royce W. en 1970, aunque Royce no utiliza el término "cascada" Prototipado El prototipado es el framework de actividades dedicada al desarrollo de software prototipo, es decir, versiones incompletas del software a desarrollar. Incremental Provee una estrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro. Espiral Modelo Espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: determinar objetivos, alternativas, y desencadenantes de la iteración; Evaluar alternativas; Identificar y resolver los riesgos; desarrollar y verificar los resultados de la iteración, y plan de la próxima iteración.
  • 9. CICLO DE VIDA DEL SOFTWARE Es la forma mediante la cual se describen los diferentes pasos que se deben seguir para el desarrollo de un software, partiendo desde una necesidad hasta llegar a la puesta en marcha de una solución y su apropiado mantenimiento. El ciclo de vida para un software comienza cuando se tiene la necesidad de resolver un problema, y termina cuando el programa que se desarrolló para cumplir con los requerimientos, deja de ser utilizado. Existen varias versiones del ciclo de vida del software entre las cuales se destacan: el ciclo de vida clásico o en cascada, el modelo en espiral, el desarrollo de prototipos, el modelo por incrementos y el modelo extremo. Modelo
  • 10. Arquitectura de Software La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel más alto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software. Modelos o vistas *La visión estática: describe qué componentes tiene la arquitectura. *La visión funcional: describe qué hace cada componente. *La visión dinámica: describe cómo se comportan los componentes a lo largo del tiempo y cómo interactúan entre sí. Conclusión Aunque la crisis del software no a terminado, esta se a reducido gracias al uso de esta ingeniería, ya que al llevar estos pasos y pautas establecidas con esta ciencia, hace la creación de nuevo software y su manutención con mas calidad y mucho mas funcional.