Está en la página 1de 26

Ingeniera de software

Es el conjunto de programas (fuentes y


ejecutables), procedimientos, reglas y
documentacin posible asociada, as
como los datos pertenecientes a la
operacin del sistema.
El Producto
Como producto
Como vehculo
Definicin de software (como producto)
Hace entrega de la potencia informtica del
hardware informtico. Si reside dentro de un telfono
celular u opera dentro de una computadora central, el
software es un transformador de informacin,
produciendo, gestionando, adquiriendo, modificando,
mostrando o transmitiendo informacin que puede
ser tan simple como un solo bit, o tan complejo como
una simulacin en multimedia.
Definicin de software (como vehculo)
Hace entrega de lo que muchos creen que ser el
producto ms importante del siglo veintiuno, la
informacin.
Transforma datos personales (transacciones
financieras) para que los datos sean ms tiles en
un contexto local.
Gestiona informacin comercial para mejorar la
competitividad; Proporciona el acceso a redes de
informacin por todo el mundo (internet).
Tambin proporciona el mtodo de adquirir
informacin en todas sus formas.
Caractersticas del Software
El software se desarrolla, no se fabrica en un sentido clsico.

La buena calidad se adquiere mediante un buen diseo, pero la
fase de construccin del hardware puede introducir problemas
de calidad (o son fcilmente corregibles) que no existen en el
software.
Ambas actividades dependen de las personas, pero la relacin
entre las personas dedicadas y el trabajo realizado es
completamente diferente para el software. Ambas actividades
requieren la construccin de un producto, pero los mtodos son
diferentes.
Los costos del software se encuentran en la ingeniera. Esto
significa que los proyectos de software no se pueden gestionar
como si fueran proyectos de fabricacin
El software no se estropea

El software no es susceptible a los males del
entorno que hacen que el hardware se estropee.
Durante las primeras etapas de su vida se
detectarn efectos que harn que falle el programa,
pero una vez que se corrigen su funcionalidad ser
constante.
El software no se estropea, pero si se deteriora, o
sea, durante su vida, sufre cambios
(mantenimiento), por lo tanto, es bastante probable
que se introduzcan nuevos defectos.
La mayora del software se construye a medida, en
vez de ensamblar componentes ya existentes

Consideremos la forma en la que se disea y se
construye el hardware de control para un producto
basado en microprocesador.
Se puede comprar software ya desarrollado, pero
slo como una unidad completa, no como
componentes que pueden reensamblarse en nuevos
programas.
Componentes del software
Los componentes deberan disearse e implementarse
para que pueda volver a ser reutilizado en muchos
programas diferentes. Como:

Bibliotecas de subrutinas (algoritmos).
Estructuras de datos.
Encapsulamiento de datos como de procesos que se aplican
a los datos. Ej: interfases interactivas (ventanas y menes
emergentes).
Son construidos por lenguajes de programacin produciendo
desde: un uso extremadamente eficiente de la memoria
hasta la optimizacin de la velocidad de ejecucin del
programa.
Software de Sistemas
1. Fuerte interaccin con el hardware de la computadora.
2. Utilizacin por mltiples usuarios.
3. Operacin concurrente que requiere una planificacin.
4. Comparticin de recursos y una sofisticada gestin de
procesos.
5. Estructuras de datos complejas.
6. Mltiples interfases externas.
Es un conjunto de programas que han sido escritos
para servir a otros programas.
Aplicaciones del Software
Software de Tiempo Real

1. Mide/Analiza/Controla sucesos del mundo real
conforme ocurren.

Elementos:
Componente de adquisicin de datos que recolecte y de
formato a la informacin recibida del entorno externo.
Componente de anlisis que transforme la informacin
segn lo requiera la aplicacin.
Componente de control/salida que responda al entorno
externo.
Componente de monitorizacin que coordine todos los
dems componentes, de forma que pueda mantenerse la
respuesta en tiempo real.
Software de Gestin

1. Se tiene acceso a 1 ms bases de datos grandes
que contienen informacin comercial.
2. Las aplicaciones en sta rea reestructuran los datos
existentes para facilitar las operaciones comerciales o
gestionar la toma de decisiones.
3. Realizan clculos interactivos.

Ej: Nminas
Cuentas de haberes/dbitos
Inventarios
Transacciones en puntos de venta.
Software de Ingeniera y Cientfico

1. Caractersticos los algoritmos de manejo de nmeros.
2. Las aplicaciones van desde:
La astronoma a la vulcanologa.
El anlisis de la presin de los automotores a la
dinmica orbital de las lanzaderas espaciales.
La biologa molecular a la fabricacin automtica.
3. Diseo asistido por computadora (CAD), la simulacin de
sistemas y otras aplicaciones interactivas, han comenzado a
coger caractersticas del software de tiempo real e incluso del
software de sistemas.
WebPage: CAD GIS GPS

Software Empotrado

1. Reside en memoria de solo lectura y se utiliza para
controlar productos y sistemas de los mercados
industriales y de consumo.
2. Puede ejecutar funciones muy limitadas y curiosas.
Ej: el control de las teclas de un horno de microondas.

3. Puede tambin suministrar una funcin significativa y
con capacidad de control.
Ej: funciones digitales en un automvil, tales como
control de la gasolina, indicaciones en el salpicadero,
sistemas de frenado.

Software de Computadoras Personales
Procesamiento de textos, las hojas de clculo, los grficos por
computadora, multimedia, entretenimientos, gestin de bases de
datos, aplicaciones financieras, de negocios y personales, y
redes o acceso a bases de datos externas, etc

Software de Inteligencia Artificial
Hace uso de algoritmos no numricos para resolver problemas
complejos para los que no son adecuados el clculo o el anlisis
directo.
Ejemplo de aplicaciones:
Sistemas Expertos
Reconocimiento de patrones (imgenes y voz)
La prueba de teoremas y los juegos.
Redes neuronales.
Mitos de Gestin

1. Tenemos ya un libro que est lleno de estndares y
procedimientos para construir software. No le proporciona ya
a mi gente todo lo que necesita saber?

2. Mi gente dispone de las herramientas de desarrollo de software
ms avanzadas; despes de todo, les compramos las
computadoras ms modernas.

3. Si fallamos en la planificacin, podemos aadir ms
programadores y adelantar el tiempo perdido.
Mitos del Software
Mitos del Cliente

1. Una declaracin general de los objetivos es suficiente para
comenzar a escribir los programas, podemos dar los detalles ms
adelante.
2. Los requisitos del proyecto cambian continuamente, pero los
cambios pueden acomodarse fcilmente, ya que el software es
flexible.

Mitos de los Desarrolladores

1. Una vez que escribimos el programa y hacemos que funcione,
nuestro trabajo ha terminado.
2. Hasta que no tenga el programa ejecutndose, realmente no
tengo forma de comprobar su calidad.
3. Lo nico que se entrega al terminar el proyecto es el programa
funcionando.
Problemas del software
Insatisfaccin del cliente por falta de una buena
definicin de los requerimientos.
De cada 6 proyectos de software 2 son
abandonados.
No se tienen datos histricos sobre el proceso de
Desarrollo de Software. No se pueden hacer
buenas estimaciones.
No se puede evaluar con precisin la eficacia de las
nuevas herramientas, tcnicas o estndares.
Problemas del software(cont...)
Las empresas de software pequeas en general no
disponen de los recursos y la experticia necesarios
para desarrollar proyectos de mejoramiento del
proceso de software
Compromiso
Habilidad
Experiencia
Recurso humano
Dinero
Se requera un proyecto de colaboracin para
compartir los costos y beneficios

1. Creacin de empleo calificado.

2. Generacin de exportaciones no tradicionales
de alto valor agregado.

3. Facilitar el proceso de modernizacin de las
economas nacionales.
Que se puede esperar de la industria del
software?
Es el conjunto de actividades tcnicas y
administrativas necesarias para la fabricacin de
un producto de software.
La madurez de una organizacin es
proporcional a su capacidad para poner en
prctica procesos de software que produzcan los
resultados previstos.
El Proceso
Disciplina o rea de la informtica o Ciencias de
la Computacin, que ofrece mtodos y tcnicas
para desarrollar y mantener software de calidad
que resuelven problemas de todo tipo.
Definiciones
Es el estudio de los principios y metodologas para
desarrollo y mantenimiento de sistemas de software.
Aplicacin de un enfoque sistemtico, disciplinado y
cuantificable al desarrollo, operacin (funcionamiento)
y mantenimiento del software: es decir, la aplicacin de
ingeniera al software.
Objetivo de las organizaciones fabricantes de software:
producir software de buena calidad de una manera
sistemtica y previsible.
Es una disciplina pragmtica que utiliza:
Ciencias de la Computacin

Fundamentos cientficos

Administracin

Fundamentos para
administracin de proyectos

Economa

Fundamentos para estima de
recursos y control de costos

Sicologa y tcnicas de
comunicacin
Fundamentos para trabajo
interdisciplinario y buena
comunicacin interpersonal
entre grupo y clientes
Metas de la Ingeniera del Software
Mejorar la calidad de los procesos de fabricacin de
software.
Mejorar la calidad de los productos de software.
Aumentar la productividad y satisfaccin profesional de los
ingenieros de esta disciplina.
Facilitar el control del proceso de desarrollo de software.
Suministrar a los desarrolladores las bases para construir
software de alta calidad en una forma eficiente.
Definir una disciplina que garantice la produccin y el
mantenimiento de los productos software desarrollados en
el plazo fijado y dentro del costo estimado.
Evolucin del Software
Los primeros aos (50s)
Orientacin por lotes (batch).
Distribucin limitada.
Software a medida.
La tercera generacin (70s 80s)
Sistemas distribuidos.
Incorporacin de inteligencia.
Hardware de bajo coste.
Impacto en el consumo.
Funciones concurrentes.
La segunda era (60s 70s)
Multiprogramacin-Multiusuario.
Tiempo real.
Bases de datos.
Producto de software.
La cuarta era (epoca actual)
Sistemas personales potentes.
Tecnologas orientadas a objetos
Sistemas expertos.
Redes neurales artificiales.
Computacin en paralelo.
Redes de computacin.

También podría gustarte