Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. INTRODUCCIN A
LA INGENIERA
DEL SOFTWARE
1.1 Objetivos
Los objetivos de este captulo son los siguientes:
Introducir el concepto de Ingeniera en general, as como otros conceptos
relacionados, que son imprescindibles para entender que el software se desarrolla bajo un enfoque de ingeniera determinado.
Ofrecer un enfoque de ingeniera integrado con otras disciplinas.
Establecer un marco de referencia de la Ingeniera del Software y la Ingeniera del Software Orientado a Objetos respecto de la Ingeniera de Sistemas de Informacin.
Presentar la Ingeniera del Software como el marco tecnolgico y tcnico
de la Ingeniera del Software Orientado a Objetos.
Estudiar el concepto de software y aspectos relacionados.
Estos objetivos se resumen en uno ms general que rige no slo este captulo sino
el libro completo: formar al alumno que va a ser ingeniero o ingeniero tcnico en
informtica en el diseo, desarrollo y culminacin de proyectos informticos de
sistemas software, especialmente bajo el enfoque de la orientacin a objetos.
1.2
1.2 Introduccin
Es interesante detenerse en la reflexin sobre un concepto o trmino que es parte
fundamental del tema del libro: la Ingeniera. Qu es la Ingeniera? Desde el punto
de vista filolgico, el Diccionario de la Lengua Espaola dice que la Ingeniera es
el Conjunto de conocimientos y tcnicas que permiten aplicar el saber cientfico a
la utilizacin de la materia y de las fuentes de energa || Profesin o ejercicio del
ingeniero. Desde el punto de vista tradicional, se trata de una disciplina tcnica
que pretende resolver problemas tcnicos mediante la aplicacin del conocimiento
cientfico consolidado, a travs de la utilizacin de conocimientos y mtodos tcnicos formales, para transformar los recursos naturales en productos directamente
utilizables por la sociedad.
Y desde un punto de vista ms moderno, la Ingeniera es un conjunto organizado de disciplinas tcnico-cientficas que actan de funciones de transformacin
entre el Universo del Discurso Cientfico (UoDC) y el Dominio de Soluciones
Tcnico-Operativas (DSTO). Los operadores de estas funciones son los recursos
humanos, los mtodos tcnicos formales, las normas tcnicas y legales, las tcnicas
y las tecnologas aceptadas como estndares por organismos internacionales o nacionales con autoridad reconocida. Los operandos son: (a) cada uno de los Espacios de Problema (EP) que conforman el Dominio del Ambito (DA) de cada disciplina (estructuras de comunicacin viaria terrestre, navegacin naval, transporte
areo, electricidad, electrnica, etc.); (b) los criterios especficos de cada DA; (c)
los conocimientos particulares de cada EP; (d) los objetivos marcados en cada Espacio de Solucin Tcnica (EST); y (e) los recursos primarios y secundarios para
trasformar o aplicar en la transformacin. Tanto el proceso de transformacin como
el resultado final deben tener la fiabilidad, calidad, eficacia y eficiencia establecidas previamente por normas y recomendaciones de organismos internacionales.
Tomando la ltima definicin de Ingeniera, para la Ingeniera del Software
hay que replantearse la delimitacin ms especfica de las particiones del Universo
del Discurso Cientfico y del Dominio de Soluciones Tcnico-Operativas. Tambin
se deben establecer claramente los operadores y los operandos de la funcin de
transformacin del Software. Pero tambin se puede analizar el concepto de Ingeniera del Software, aplicando las definiciones anteriores con la intencin de encontrar una definicin especfica que sea consistente y completa. Para ello, se va a
plantear una serie de preguntas principales que tambin se intentar resolver en la
medida de lo posible:
1. Qu es el Software? No es ni materia, ni recurso natural ni energa.
2. Cul es el conocimiento cientfico que sustenta el Software? Qu conjunto coherente de teoras y modelos explica el comportamiento del Softwa-
TEMA-01
Trmino
Definicin
D.1.1
Ingeniera
D.1.2
Enfoque de ingeniera
D.1.3
Propsito de la ingeniera
D.1.4
Proceso de ingeniera
D.1.5
Proyecto de ingeniera
En la Tabla 1.2 se enuncian las definiciones relacionadas con los aspectos metodolgicos de la ingeniera en general.
En la Tabla 1.3 se enuncian las definiciones relacionadas con los aspectos operativos de la ingeniera en general.
TEMA-01
Trmino
Definicin
D.1.6
Metodologas
D.1.7
Mtodos
D.1.8
Tcnicas
D.1.9
Procedimientos
D.1.10
Herramientas
1.6
Trmino
Definicin
D.1.11
Confiabilidad de un
sistema
D.1.12
Obsolescencia
funcional
D.1.13
Obsolescencia
operativa
D.1.14
Obsolescencia
tcnica
TEMA-01
Ingeniera de
Sistemas de Informacin
Ingeniera de
las Tecnologas de
la Informacin
y la Comunicacin
Ingeniera de
Tecnologas de
la Comunicacin
Ingeniera de
la Informacin
Ingeniera de
Sistemas Informticos
El proceso de la ISI empieza con el examen del dominio entero del negocio o
del producto para asegurarse de que se puede establecer el contexto de negocio o
tecnolgico apropiado (Figura 1.2). Esto se denomina vista global. La vista global
se refina para enfocarse totalmente en un dominio de inters especfico, denominado vista del dominio. Dentro de un dominio especfico, se analiza la necesidad de
elementos del sistema (informacin, software, hardware, profesionales, etc.). El
resultado de este anlisis se denomina vista del elemento. Finalmente se inicia el
anlisis, diseo y construccin del elemento del sistema deseado. Este contexto
particular del elemento se denomina vista detallada. Las actividades tcnicas comprendidas en la vista detallada se realizan por la disciplina de ingeniera correspondiente.
1.8
Trmino
Definicin
D.1.15
D.1.16
D.1.17
Ingeniera
Producto
D.1.18
D.1.19
D.1.20
Ingeniera
del Es una subdisciplina de la Ingeniera de Sistemas de Informacin.
Software (como Es un proceso de modelado para definir los procesos que satisfagan
proceso de mode- las necesidades de la vista global, del elemento o detallada; para
lado)
representar el comportamiento de los procesos y los supuestos en
los que se basa el comportamiento, para definir explcitamente las
entradas exgenas y endgenas de informacin al modelo, y representar todas las uniones que permitan al ingeniero entender mejor la
visin correspondiente.
Vista detallada
Ing. Software
Figura 1.2. Estructura del dominio de Negocio
TEMA-01
1.10
TEMA-01
11
1.12
TEMA-01
13
1.14
TEMA-01
15
cione con el software, puesto que pueden llegar a tener intereses distintos. El promotor o contratante, que es quien lanza la iniciativa de desarrollo y asume los costes del mismo, quiere tener el mejor producto a menor coste y en el menor tiempo
o, al menos, dentro del presupuesto aceptado y en la fecha comprometida. El usuario, que es quien realmente va a utilizar el sistema software, desea una herramienta
que le ayude en su trabajo, que no le obligue a modificar sus hbitos e, incluso, que
no pueda sustituirle en el puesto de trabajo.
Por la otra parte, los tcnicos de mantenimiento, los operadores y tcnicos de
explotacin, los analistas y programadores, etc. quieren tener un sistema que funcione y que no d problemas, facilitando su mantenimiento y la incorporacin no
traumtica de nuevas aplicaciones.
Como se puede ver, las expectativas de todos ellos no confluyen en un punto
comn. As, debe aplicarse especialmente la capacidad profesional del ingeniero y
sus habilidades de gestin y relacin para encontrar puntos de convergencia entre
las metas conflictivas de todos estos actores.
1.16
La Ingeniera del Software es el establecimiento y uso de principios de ingeniera robustos, orientados a obtener software econmico que sea fiable y funcione
de manera eficiente sobre mquinas reales, mediante la aplicacin de los elementos y actividades siguientes: mtodos; planificacin y estimacin de proyectos; anlisis de los requisitos del sistema y del software; diseo de estructuras de datos; arquitectura de programas y procedimientos algortmicos; codificacin; pruebas; instalacin y mantenimiento; herramientas; y procedimientos.
Las definiciones de la Tabla 1.1 se pueden aplicar perfectamente a esta disciplina siguiendo el mismo punto de vista del enfoque de ingeniera. As, el propsito
de la Ingeniera del Software es la de resolver problemas reales de tipo informtico
de la manera ms eficiente. Este propsito de alcanza por medio de los procesos o
formas unitarias en que se desarrolla el enfoque de Ingeniera del Software, siendo
la unidad de accin el proyecto de ingeniera informtica. Este ltimo concepto se
puede definir de la forma siguiente:
El proyecto de ingeniera informtica es el conjunto de actividades coordinadas
cronolgicamente para alcanzar un subconjunto de objetivos a partir de la definicin de un subconjunto de necesidades, todo ello en-marcado dentro de un
Plan Estratgico de Sistemas de Informacin. En el aspecto cronolgico, un
proyecto tiene un inicio, una fecha inicial, y un final, la fecha de finalizacin;
pero tambin tiene unos hitos temporales intermedios para la distribucin de
las actividades. En el aspecto econmico, un proyecto necesita de unos recursos, tanto para su puesta en marcha, como para su continuacin y culminacin.
Adems, el proyecto debe ofrecer determinados resultados que justifiquen el
coste de los recursos empleados. En el aspecto organizativo, un proyecto parte
de una planificacin previa y necesita de una gestin que adecue las actividades a la planificacin y que controle las desviaciones.
Se puede apreciar que se ha utilizado el trmino proyecto de ingeniera informtica en lugar de proyecto de Ingeniera del Software. La justificacin es
que cualquier proyecto en que se desarrolle software necesita del concurso del
hardware necesario para dicho desarrollo, aunque solamente se considere su adquisicin e instalacin. Con lo cual una parte del proyecto es software y el resto es
hardware.
TEMA-01
17
Definicin
Principio I.
Experiencia
prctica
Principio II.
Resolucin de
problemas
No hay soluciones correctas o incorrectas, sino slo soluciones que son mejores
o peores con relacin a un criterio establecido.
Principio III.
Recursos limitados
Principio IV.
Interdisciplinariedad
Principio V.
Comunicacin
Deben establecerse los canales de comunicacin necesarios entre los participantes en proyectos de ingeniera y con su entorno. Hay que comunicar alternativas, articular soluciones, negociar compromisos y revisar y criticar el trabajo de
los dems. Se debe incluir necesariamente a los clientes y usuarios como fuentes y destinatarios de determinados flujos de informacin.
1.6 Fuentes
El libro de Roger S. Pressman (Pressman, 2014) es uno de las obras clsicas en el
enfoque moderno de la Ingeniera del Software en general, aunque su estructura
expositiva es un poco discutible para quien se introduce por primera vez en esta
disciplina. Los conceptos de proceso y producto, a pesar de tener una seccin dedicada, no acaban de estar claros. Por otra parte, es uno de los primeros en la introduccin formal de nuevas formas de aplicacin de la disciplina en mbitos como
los sistemas Web. Su enfoque no es fundamentalmente prctico, por lo que se debe
apoyar en otros libros si se pretende disear un proyecto informtico.
En el libro de Piattini y otros (Piattini et al., 2013) se desarrollan conceptos
mucho ms concretos para su aplicacin inmediata en el desarrollo de proyectos
informticos.
1.18
1.7 Bibliografa
Bruegge B., Dutoit A.H. Ingeniera de Software Orientado a Objetos. Prentice Hall
Pearson educacin, Mxico, 2002.
Harmon P., Hall C. Intelligent Software Systems Development. An IS Managers
Guide. John Wiley, New York-USA, 1993.
Piattini M., Calvo-Manzano J., Cervera J., Fernndez L. Anlisis y Diseo Detallado de Aplicaciones Informticas de Gestin .RA-MA, Madrid, 1993.
Pressman R.S. Ingeniera del Software. Un enfoque prctico (5 ed.) Mc Graw-Hill;
New York , 2001.
Sommerville I. Ingeniera de software. 6 edicin. PrenticeHall Pearson educacin, Mxico, 2002.
Yourdon E., Whitehead K., Thomann J., Oppel K., Nevermann P. Mainstream
Objects: An Analysis and Design Approach for Business. Prentice-Hall, Upper Saddle River, NJ (USA), 1995.