Sei sulla pagina 1di 11

Que es Ingeniería del Software?

• La Real academia de ciencias exactas, físicas y nutuales de a


España:

Ingeniería :
Conjunto de conocimientos y técnicas cuya aplicación permite
la utilización racional de los materiales y de los recursos naturales,
mediante invenciones, construcciones u otras realizaciones
provechosas para el hombre.
Software:
Conjunto de programas, instrucciones y reglas informáticas
para ejecutar ciertas tareas en una computadora.

Ingeniería del Software Ingeniería del Software

Ingeniería del Software es la aplicación práctica del


Ingeniería del Software trata del establecimiento de los conocimiento científico en el diseño y construcción de
principios y métodos de la ingeniería a fin de obtener programas de computadora y la documentación
software de modo rentable que sea fiable y trabaje en asociada requerida para desarrollar, operar (funcionar)
máquinas reales [Bauer, 1972]. y mantenerlos. Se conoce también como desarrollo de
software o producción de software [Bohem, 1976].

Ingeniería del Software Ingeniería del Software

Ingeniería de Software es el estudio de los principios y La aplicación de un enfoque sistemático, disciplinado y


metodologías para desarrollo y mantenimiento de cuantificable al desarrollo, operación (funcionamiento)
sistemas de software [Zelkovitz, 1978]. y mantenimiento del software; es decir, la aplicación
de ingeniería al software.[IEEE, 1993].

+
Durante los 70’s y 80’s…

• Osborne [79] hablaba de una nueva revolución industrial.


Historia de la Ingeniería • Toffler *80’s+ llamó a la llegada de componentes micro electrónicos.

de Software • Naisbitt *82’s+ predijo la transformación de la sociedad industrial a una


sociedad de información.

• Feigenbaum y McCorduck *83’s+ sugirieron que la información y el


conocimiento (en computadora) serían el foco de poder del siglo
veintiuno.

• Sto11 [89] argumentó que la comunidad electrónica creada mediante


redes y software es la clave para el intercambio de conocimiento
alrededor del mundo.

Principios de los años 90… Al final de los años 90…

• Yourdon *92’s+ le preocupaba que las compañías en Estados • Yourdon [96] volvió a evaluar las perspectivas del software
Unidos pudieran perder su competitividad en empresas profesional y sugirió la resurrección y elevación del
relativas al software y predijo el declive y la caída del programador americano.
programador americano.
• A medida que internet creció en importancia, su cambio de
pensamiento demostró ser correcto.
• Hammer y Champy *93’s+ argumentaron que las
tecnologías de información iban a desempeñar el papel
principal en la reingeniería de la compañía.

Al final del siglo veinte… Hoy en día…

• El papel del software continúa su expansión.


• Al final del siglo XX el enfoque cambió al
impacto de la “bomba de relojería” (Y2K)

• [NOR98] ha producido una generación de


aplicaciones de información que tienen
conexión en banda ancha a la Web para
proporcionar una capa de conexión sobre
nuestras casas, oficinas, y autopistas [LEV99].
Por que ha sufridos cambios
Problemas…
significativos el software?

 Enormes mejoras en rendimiento del hardware • La sofisticación y la complejidad pueden


 Profundos cambios de arquitecturas informáticas producir resultados deslumbrantes cuando un
 Grandes aumentos de memoria y capacidad de sistema tiene éxito, pero también pueden
almacenamiento suponer grandes problemas para aquellos que
 Gran variedad de opciones de entrada y salida deben construir sistemas complejos.

Han conducido a sistemas más sofisticados y más


complejos basados en computadora

• crisis «un punto decisivo en el curso de algo, momento,


etapa o evento decisivo o crucial».

Sin embargo, en términos en cuanto a software, no ha


habido ningún «punto crucial», ningún «momento
decisivo», solamente un lento cambio evolutivo,
puntualizado por cambios tecnológicos explosivos en las Aflicción «algo que causa pena o desastre»
disciplinas relacionadas con el software. Crónica «muy duradero o que reaparece con frecuencia
continuando indefinidamente».

El mal abarca los problemas asociados a: Bibliografía:

Cómo desarrollar software


Ingeniería del Software Un Enfoque Practico
Roger S. Pressman
Cómo mantener el volumen cada vez mayor de software V Edicion McGraw-Hill
existente  Definiciones: prologo a la cuarta edición en español.
 Historia de ingeniero de software: pag 4 y 5.
 La crisis del software: pag 8
Cómo poder esperar mantenernos al corriente de la
demanda creciente de software.
Concordancia de los requisitos
funcionales y de rendimiento
explícitamente establecidos, con los
estándares de desarrollo
explícitamente documentados, y con
las características implícitas que se
espera de todo software desarrollado
profesionalmente.

 Funcionalidad: Capacidad de un software


para proporcionar funciones que cubran
necesidades explicitas e implícitas.
La norma ISO define seis características
principales que cubren todos los aspectos de la  Confiabilidad:Capacidad del software para
calidad del software: mantener un nivel especifico de
rendimiento.
 Funcionalidad
 Confiabilidad
 Usabilidad: Capacidad del software para ser
 Usabilidad
entendido, aprendido, usado y atractivo
 Eficiencia para el usuario.
 Mantenibilidad
 Portabilidad

 Eficiencia:
Capacidad del software para
proporcionar un rendimiento adecuado.
 Eficiencia:
La eficiencia de un software es su
 Mantenibilidad: Capacidad del software para capacidad para hacer un buen uso de los
ser modificado. recursos del ordenador.

 Portabilidad: Capacidad del software para  Portabilidad: Es la facilidad con la que un


ser transferido de un entorno a otro. software puede ser transportado sobre
diferentes sistemas físicos o lógicos.

 Fácil
de usar: Cuando el usuario puede
comunicarse con él de manera cómoda.
 Compatibilidad: Facilidad de los productos  Corrección:Facilidad para solucionar los
para ser combinados con otros y usados en problemas que puedan presentarse.
diferentes plataformas hardware o software.
 Robustez: Capacidad que tiene los productos
 Integridad: Es la capacidad de un software de software de funcionar incluso en
de proteger sus propios componentes contra situaciones anormales.
los procesos que no tengan el derecho de
acceder.
 Extensibilidad:Facilidad que tiene los
productos de adaptarse a cambios en su
 Reutilización: Capacidad de los productos de especificación.
ser reutilizados, en su totalidad o en parte,
en nuevas aplicaciones.
 Verificabilidad:
Es la facilidad de verificación
de un software, es decir, probar que el
software funcione correctamente.

La garantía de calidad del software es una Se refiere a las características que especifican
actividad de protección que se aplica a lo largo los ingenieros de software para un elemento.
de todo el proceso del software. El grado de materiales, tolerancias y las
Se pueden encontrar dos tipos de calidad: especificaciones del rendimiento contribuyen a
la calidad del diseño.
 Calidad del diseño

 Calidad de concordancia

Es el grado de cumplimiento de las Es una serie de inspecciones, revisiones y


especificaciones de diseño durante su pruebas utilizados a lo largo del proceso del
realización. software para asegurar que cada producto
Una vez más, cuanto mayor sea el grado de cumple con los requisitos que le han sido
cumplimento, más alto será el nivel de calidad asignados.
de concordancia.
El objetivo de la garantía de calidad es
proporcionar la gestión para informar de los Incluye todos los costes acarreados en la
datos necesarios sobre la calidad del producto, búsqueda de la calidad o en las actividades
por lo que se va adquiriendo una visión más relacionadas en la obtención de la calidad.
profunda y segura de que la calidad del
producto está cumpliendo sus objetivos. Los costes de calidad se pueden dividir en
Costes asociados con la prevención, la
evaluación y los fallos.

Entre los costes de prevención se incluyen:


 Planificación de la calidad
 Revisiones técnicas formales
Los costes de fallos son los costes que
 Equipo de pruebas
Desaparecerían si no surgieran defectos antes
 Formación
del envío de un producto a los clientes. Estos
costes se pueden subdividir:
Los costes de evaluación se incluyen  Costes de fallos internos
actividades
Para tener una visión más profunda de-la
 Costes de fallos externos
Condición del producto «la primera vez a
través de» cada proceso.
Mitos del Software

Características:
 MITOS DE GESTION:
 Origen de la crisis.  Cumplir con presupuestos y mejorar la calidad.
 Se toma frecuentemente a un mito.
 Propagaron información errónea y confusión.
 Atributos:
◦ Declaraciones razonables.
◦ Sentido intuitivo.
◦ Promulgados por expertos en esa época.

 Mito  Realidad  Mito  Realidad


 Ingeniería de software
Libro completo ¿Se usa? Herramientas avanzadas. asistida por
¿Conocen los computadora es mejor
trabajadores su que el hardware.
existencia?  Poseidón
¿Es completo?  Autocad
¿Esta diseñado para una  MathLab
entrega de calidad?
Listos!!!!!!  Una buena PC no es
suficiente.

 Mito  Realidad  MITOS DEL CLIENTE:


◦ Cualquier persona puede solicitar una aplicación del
No es un proceso software.
Si planificamos mal
mecánico como ◦ El cliente cree en los mitos del software.
podemos añadir mas
programas y ocupar fabricación. ◦ Los mitos hacen creer al cliente una falsa
expectativa.
tiempo perdido.

Puede añadirse personal


pero de manera
planificada y
coordinada.
 Mito  Realidad  Mito  Realidad

Objetivos general para Mala definición inicial es Los cambios al software Si pero el impacto del
empezar y los detalles principal causa de se pueden acomodar cambio varia según el
mas adelante. trabajo baldío de fácilmente. momento en que se
software. introduzca.

Mitos de los desarrolladores:

Se originan de la cultura informática.

 Mito  Realidad  Mito  Realidad

Escrito el programa y Entre el 60% y el 80 % del Hasta no tener Revisión tecnicaformal:


que funcione, nuestro esfuerzo dedicado a un problemas no hay  Filtro de calidad.
trabajo ha terminado. programa se realizara forma de comprobar
 Mas efectivo que la
después de entregarlo su calidad. prueba.
al cliente por primera  Errores los vuelve
vez. defectos después de la
entrega.

 Mito  Realidad Resultados…

Lo único a entregar al Que funcione es solo  Pobre gestión. Formular soluciones


final del proyecto es el una parte de una practicas para el
Malas practicas
programa funcionando. configuración del desarrollo.
técnicas.
software.
 Poco caso a la realidad.

Proporcionar un marco
de trabajo para
construir software con
La documentación es mayor calidad.
importante.
Capas de la Ingeniería del Software

CAPAS

Indispensablemente de la complejidad
del sistema y de sus área de aplicación la
ingeniería del software puede
considerarse una tecnología multicapas.
UN ENFOQUE DE CALIDAD

Enfoque de calidad
La primera capa enfatiza que los cimientos de la
ingeniería de software están orientados hacia la
calidad.
Cualquier disciplina de ingeniería (incluida la
ingeniería del software) debe descansar sobre un
esfuerzo de organización de calidad. La gestión total PROCESOS

de la calidad y las filosofías similares fomentan una


cultura continua de mejoras de procesos que
UN ENFOQUE DE CALIDAD
conduce al desarrollo de enfoques cada vez más
robustos para la ingeniería del software.

PROCESOS
HERRAMIENTAS

Un proceso de software es el conjunto de METODOS


actividades, métodos, practicas y tecnología
aplicables a todos los proyectos de software. PROCESOS
Un proceso básico(también conocido como
ciclo de vida básico) esta conformado por el
análisis, diseño, codificación. Pruebas y UN ENFOQUE DE CALIDAD

mantenimiento.
Modelo de construcción de
MÉTODOS prototipos
Los métodos o modelos de la ingeniería de software indican
como realizar los pasos necesarios del ciclo de vida.
*se inicia con la definición de
- Modelo de construcción de prototipos
los objetivos globales para el
- Modelo de desarrollo rápido aplicaciones software.
- Modelo de proceso evolutivos
*modelo incremental *luego se identifican los
*Espiral requisitos conocidos y las
áreas del esquema en donde
*Ensamblaje de componentes
es necesaria más definición
*Desarrollo concurrente
- Modelo de métodos formales.
- Técnicas de cuarta generación.

Modelo de proceso evolutivos


Técnicas de cuarta generación
*crear sistemas
Modelo incremental añadiendo
componentes
se orienta hacia la
habilidad de
funcionales especificar software a
(incrementos). un nivel que sea más
próximo al lenguaje
natural o a una
*en cada paso se notación que
actualizan el sistema proporcione
con nuevas funciones
funcionalidades y significativas.
requisitos.

HERRAMIENTAS
HERRAMIENTAS
Las herramientas ayudan a organizar
METODOS
tareas de trabajo, control y supervisar
los progresos y administrar la calidad
PROCESOS técnicas. Su objetivo principal es
proporcionar un soporte automático o
UN ENFOQUE DE CALIDAD
semiautomático, para los procesos y
para los métodos. A estas herramientas
se les llama herramientas CASE

Potrebbero piacerti anche