Вы находитесь на странице: 1из 4

Ingeniera de software

Muchas de las llamadas fallas de software son consecuencia de dos factores:


- Demandas crecientes: Los sistemas tienen que construirse y distribuirse ms rpidamente; se
requieren sistemas ms grandes e incluso ms complejos; los sistemas deben tener nuevas
capacidades que anteriormente se consideraban imposibles.
- Expectativas bajas: Muchas compaas se deslizan hacia la ingeniera de software conforme
evolucionan sus productos y servicios. No usan mtodos de ingeniera de software en su trabajo diario.
Por lo tanto, su software con frecuencia es ms costoso y menos confiable de lo que debiera.

Existen dos tipos de productos de software


- Productos genricos: Consisten en sistemas independientes que se producen por una organizacin de
desarrollo y se venden en el mercado abierto a cualquier cliente que desee comprarlos. La organizacin
que desarrolla el software controla la especificacin del mismo.

Productos personalizados (o a la medida): Son sistemas que estn destinados para un cliente en
particular. La organizacin que compra el software generalmente desarrolla y controla la especificacin.

Ahora, cada vez ms sistemas se construyen con un producto genrico como base, que luego se adapta para
ajustarse a los requerimientos de un cliente. Los sistemas Enterprise Resource Planning (ERP, planeacin de
recursos empresariales), como el sistema SAP, son los mejores ejemplos de este enfoque.
Nota: La calidad no tiene que ver slo con lo que hace el software. En cambio, debe incluir el comportamiento
del software mientras se ejecuta, y la estructura y organizacin de los programas del sistema y la
documentacin asociada.
El conjunto especfico de atributos que se espera de un sistema de software depende evidentemente de su
aplicacin. Esto puede generalizarse en el conjunto de atributos que se muestran a continuacin, los cuales se
consideran las caractersticas esenciales de un sistema de software profesional.

Ingeniera de software
-

La ingeniera de software es una disciplina de ingeniera que se interesa por todos los aspectos de la
produccin del software, desde las primeras etapas de la especificacin del sistema hasta el
mantenimiento del sistema despus de que se pone en operacin.
Disciplina de ingeniera: Los ingenieros hacen que las cosas funcionen. Aplican teoras, mtodos y
herramientas donde es adecuado. Sin embargo, los usan de manera selectiva y siempre tratan de
encontrar soluciones a problemas, incluso cuando no hay teoras ni mtodos aplicables. Los ingenieros
tambin reconocen que deben trabajar ente restricciones organizacionales y financieras, de modo que
buscan soluciones dentro de tales limitaciones.
Todos los aspectos de la produccin del software: La ingeniera de software no slo se interesa por los
procesos tcnicos de desarrollo de software, sino tambin incluye actividades como la administracin
del proyecto de software, el desarrollo de herramientas, as como mtodos y teoras para poyar la
produccin de software.

La ingeniera busca obtener resultados de la calidad requerida dentro de la fecha y del presupuesto. En general,
los ingenieros de software adoptan en su trabajo un enfoque sistemtico y organizado. No obstante, la

ingeniera busca seleccionar el mtodo ms adecuado para un conjunto de circunstancias y, de esta manera, un
acercamiento al desarrollo ms creativo y menos formal sera efectivo en ciertas circunstancias.
Importancia de la ingeniera de software
- Cada vez con mayor frecuencia, los individuos y la sociedad se apoyan en los avanzados sistemas de
software. Por ende, se requiere producir econmica y rpidamente sistemas confiables.
- A menudo resulta ms barato a largo plazo usar mtodos y tcnicas de ingeniera de software para los
sistemas de software, que slo disear los programas como si fuera un proyecto de programacin
personal.
Procesos de software
El enfoque sistemtico que se usa en la ingeniera de software se conoce en ocasiones como proceso de
software.
Un proceso de software es una secuencia de actividades que conducen a la elaboracin de un producto de
software.
Existen cuatro actividades fundamentales que son comunes a todos los procesos de software, y stas son:
1. Especificacin del software: donde clientes e ingenieros definen el software que se producir y las
restricciones de su operacin.
2. Desarrollo de software: donde se disea y se programa el software.
3. Validacin del software: donde se verifica el software para asegurar que sea lo que el cliente requiere.
4. Evolucin del software: donde se modifica el software para reflejar los requerimientos cambiantes del
cliente y el mercado.
Diferentes tipos de sistemas necesitan distintos procesos de desarrollo.
- Software en tiempo real: debe especificarse por completo antes de empezar el desarrollo.
- Sistema de comercio electrnico: La especificacin y el programa por lo general se desarrollan en
conjunto.
La ingeniera de software se relaciona con las ciencias de la computacin y la ingeniera de sistemas:
1. Ciencias de la computacin: Se interesan por las teoras y los mtodos que subyacen en las
computadoras y los sistemas de software en tanto que la ingeniera de software se preocupa por los
asuntos prcticos de la produccin del software. Las teoras de las ciencias de la computacin no
siempre pueden aplicarse a grandes problemas complejos que requieren una solucin de software.
2. Ingeniera de sistemas: se interesa por todos los aspectos del desarrollo y la evolucin de complejos
sistemas, donde el software tiene un papel principal. La ingeniera de sistemas se preocupa por el
desarrollo de hardware, el diseo de polticas y procesos, la implementacin del sistema, as como por
la ingeniera de software. Los ingenieros de sistemas intervienen en la especificacin del sistema,
definiendo su arquitectura global y, luego, integrando las diferentes partes para crear el sistema
terminado. Estn menos preocupados por la ingeniera de los componentes del sistema.
Problemas generales que afectan a muy diversos tipos de software
1. Heterogeneidad: Cada vez con mayor frecuencia se requieren sistemas que operen como distribuidos a
travs de redes que incluyan diferentes tipos de computadoras y dispositivos mviles. El reto aqu es
desarrollar tcnicas para construir software confiable que sea suficientemente flexible para enfrentar
esa heterogeneidad.
2. Cambio empresarial y social: Los negocios y la sociedad cambian de manera increblemente rpida,
conforme se desarrollan las economas emergentes y nuevas tecnologas estn a la disposicin. Ambos
necesitan tener la posibilidad de cambiar su software existente y desarrollar rpidamente uno nuevo.

Muchas tcnicas de la ingeniera de software requieren evolucionar de modo que se reduzca el tiempo
necesario para que el software d valor a sus clientes.
3. Seguridad y confianza: Dado que el software est vinculado con todos los aspectos de la vida, es
esencial confiar en dicho software. Para enfrentar dichos retos se necesitarn nuevas herramientas y
tcnicas, as como formas innovadoras de combinar y usar los mtodos existentes de ingeniera de
software.
Diversidad de la ingeniera de software
La ingeniera de software es un enfoque sistemtico para la produccin de software que toma en cuenta los
temas prcticos de costo, fecha y confiabilidad. As como las necesidades del cliente y fabricantes de software.
El factor ms significativo en la determinacin de qu mtodos y tcnicas de la ingeniera de software son ms
importantes, es el tipo de aplicacin que est siendo desarrollada.
Diferentes tipos de aplicaciones
1. Aplicaciones independientes: Se trata de sistemas de aplicacin que corren en una computadora local,
como una PC, programas CAD, software de manipulacin de fotografas, etc.
2. Aplicaciones interactivas basadas en transaccin: Consiste en aplicaciones que se ejecutan en una
computadora remota y a las que los usuarios acceden desde sus propias PC o terminales.
Evidentemente en ellas se incluyen aplicaciones WEB donde es posible interactuar con un sistema
remoto. Las aplicaciones interactivas incorporan con frecuencia un gran almacn de datos al que se
accede y actualiza en cada transaccin.
3. Sistemas de control embebido: Se trata de sistemas de control de software que regulan y controlan
dispositivos de hardware. Algunos ejemplos de sistemas embebidos incluyen el software de un
telfono mvil, el software en un horno de microondas para controlar el proceso de cocinado, etc.

Вам также может понравиться