Vous êtes sur la page 1sur 4

4-Ingeniera de Software

Introduccin. El trmino Ingeniera de Software se refiere a un concepto muy discutido y polmico en la actualidad. La polmica gira fundamentalmente en torno a si la actividad de desarrollar software es en realidad un rea de la Ingeniera. Para algunos lo es y para otros no lo es. Poco a poco son ms quienes creen que si no lo es, de e serlo. Pero independientemente de la polmica, lo cierto es que en la !nidad Informtica se ela ora muc"o software, ya que ste en un componente fundamental de todo sistema informtico# y tam in es cierto que para que el software sea de alta calidad, es conveniente desarrollarlo con principios, tcnicas y "erramientas de Ingeniera. Para llegar a una definici$n apropiada de Ingeniera de Software se partir de la definici$n de Ingeniera que se adopt$ en el captulo previo, y de una definici$n de software que se desarrolla a continuaci$n.

Ingeniera.
En el captulo anterior se defini la Ingeniera como un conjunto coherente de tcnicas y conceptos derivados del conocimiento cientfico, aplicables a la construccin de sistemas especficos para beneficio humano. En la ingeniera civil se construyen puentes, carreteras y edificios; en la ingeniera industrial se construyen plantas y procesos industriales; y en la ingeniera Informtica se construyen sistemas informticos.

Software.
El trmino software se deriva un tanto accidentalmente del trmino hardware. l principio del desarrollo de las computadoras, la gente se refera a los componentes fsicos tangibles de una computadora como tubos de vaco, relays, resistencias y alambrado, con el trmino hardware. !asi enseguida se comen" a usar en la industria de las computadoras el trmino software para referirse a todo lo #ue no era hardware, especialmente a los programas #ue se necesitaban para #ue las computadoras pudieran reali"ar las tareas #ue estaban supuestas a hacer. $ara %&'(, el uso del trmino ya estaba bastante generali"ado.% El diccionario American Heritage define el trmino software como )Los programas, rutinas y lenguajes simblicos que controlan el funcionamiento del hardware de una computadora, y dirigen su operacin*.
Seg%n Pressman, &el software es (1) un conjunto de instrucciones (programas de computadora) que cuando se ejecutan proporcionan la funcin y el rendimiento deseados, (2) estructuras de datos que permiten a los programas manejar adecuadamente la informacin, y (3) documentos que describen la operacin y el uso de los programas'.( Para el prop$sito de este captulo, el software es un sistema destinado a lograr un o )etivo especfico de al menos mediana complejidad* a travs de una computadora digital, consiste en+ a. !n con)unto de instrucciones relacionadas entre s, destinadas a dirigir y controlar las operaciones de los componentes de una computadora digital. . !n con)unto de estructuras de datos destinadas a almacenar los datos requeridos por las instrucciones. c. !na documentaci$n destinada a dirigir la instalaci$n del con)unto de instrucciones y estructuras de datos, su utili,aci$n, su actuali,aci$n y su mantenimiento. El o )etivo especfico de un software no est necesariamente relacionado a un prop$sito informtico. -as ien, puede estar relacionado con cualquier clase de prop$sito. Por e)emplo, un prop$sito de entretenimiento como son los )uegos# didctico como las enciclopedias# de control de procesos como el usado en lan,amiento de satlites o en gua de misiles alsticos# o de apoyo operativo como los
. (

Petrocelli /0"arter# Encyclopedia of Computer cience# 1ew 2or3, .456. Pg..(78. Pressman, 9oger P.# !ngenier"a de oftware# $n Enfoque %r&ctico# -c:raw;<ill, =a. edici$n, -adrid, .447. Pg. 5. * 8> puntos funcionales como mnimo.

procesadores de pala ras, las "o)as electr$nicas, los editores de te?to, los compiladores y los sistemas operativos. El con)unto de instrucciones puede estar especificado en lengua)e de mquina e)ecuta le o en cualquier lengua)e sim $lico fuente que sea transforma le a lengua)e e)ecuta le mediante un compilador o intrprete e?istente. 1ormalmente las instrucciones estn registradas en un medio magntico, un medio $ptico o en firmware. E?actamente lo mismo es aplica le a las estructuras de datos en cuanto a la forma de especificarlas y registrarlas. La documentaci$n se concreti,a normalmente en tres documentos+ un !nstructi'o de !nstalacin, un (anual de )peracin y un (anual *+cnico. El primer documento est orientado a facilitar al usuario la instalaci$n del software en una computadora# mientras que el segundo est destinado a facilitar al usuario la utili,aci$n y operaci$n del software. El prop$sito del (anual *+cnico es facilitar a los ingenieros de software las futuras operaciones de mantenimiento que pueda requerir el software despus de su e?itosa instalaci$n. La documentaci$n puede estar registrada en un medio magntico, $ptico o en papel. Los componentes de la computadora digital dirigidos y controlados por el software pueden ser de ,ardware, de software o de am os. Entre los componentes de ,ardware se encuentran+ los 0P!, el @IAS, los dispositivos de entradaBsalida, las unidades de disco duro y la memoria principal. Entre los componentes de software estn+ el sistema operativo, las utileras, los dri'ers y los compiladores. Clgunas caractersticas del software que contrastan con las del "ardware son las siguientes+ aD El software se desarrolla, no se manufactura# D El software es un sistema intangi le# cD El software no se desgasta, pero s se deteriora# dD El software tiende a construirse a la medida en ve, de a partir de componentes.

Ingeniera de Software.
Para Pressman, reconocido autor a nivel mundial en esta disciplina, !ngenier"a de oftware 'es una disciplina o rea de la Informtica o 0iencias de la 0omputaci$n, que ofrece mtodos y tcnicas para desarrollar y mantener software de calidad que resuelve pro lemas de todo tipo'. = Para Eel3ovit,, !ngenier"a de oftware &es el estudio de los principios y metodologas para el desarrollo y mantenimiento de sistemas de software'.8 @o"em define !ngenier"a de oftware como &la aplicaci$n prctica del conocimiento cientfico en el diseFo y construcci$n de programas de computadora y la documentaci$n asociada requerida para desarrollarlos, operarlos y mantenerlos'.6 Seg%n @auer, la !ngenier"a de oftware &trata so re el esta lecimiento de los principios y mtodos de la Ingeniera a fin de o tener software de modo renta le que sea fia le y tra a)e en mquinas reales'.5 Para la IEEE, !ngenier"a de oftware es &.D La aplicaci$n de un enfoque sistemtico, disciplinado y cuantifica le al desarrollo, operaci$n y mantenimiento del software# es decir, la aplicaci$n de la Ingeniera al software. (D El estudio de enfoques como en .D'.7 Para los prop$sitos de este captulo, se Figura 4.1. La Ingeniera de Software. emplear el enfoque de sistemas como "erramienta para descri ir lo que se Medioambiente: Stakeholders: usuarios, clientes, inversionistas etc. entiende por !ngenier"a de oftware# como Mercado, sistemas informticos, otros software, etc . se ilustra en la Gigura =... Objetivo. 0onstruir software de alta calidad, de forma sistemtica y disciplinada# calidad

Biblioteca de Software I id. Pg. ??i. . 8 Eel3ovit,, -. H., S"aw C.0., :annon, I. J.# %rinciples of oftware Engineering and -esign# Prentice;<all# Englewoods 0lif, .454. Ingenieros, A/ s 6 @o"em, @. K.# Software Engineering# !EEE *ransactions on Computers, 0;(8, 1%m. .(, diciem re .456. Pg. .((6;.(=.. . 5 @a"er, G. L.# Software Engineering# !nformation %rocessing# 5., 1ort" <olland Pu lis"ing 0o., Cmsterdam, .45(. !"#ipo 7 IEEE# Standards 0ollection+ Software Engineering# IEEE Standard 6.>..(;.44>, IEEE, .44*.
=

Necesidad de software (Perfil del software)

Conceptos, mtodos, tcnicas, herramientas y procedimientos .

Software de alta calidad

Control
Frontera

que de e verse refle)ada en trminos de oportunidad, efectividad, confia ilidad y eficiencia# y en la facilidad de operaci$n y mantenimiento. Caractersticas. La !ngenier"a de oftware es un sistema a ierto, estocstico, dinmico y predominantemente a stracto, artificial, temporal y adapta le. Frontera. La frontera de la !ngenier"a de oftware es de naturale,a virtual. Jentro de ella estn comprendidos los elementos necesarios para desarrollar software de alta calidad+ los conceptos, mtodos, tcnicas, "erramientas, procesos, modelos y procedimientos propios de la Ingeniera de Software# las i liotecas de software# el equipo necesario para producir desarrollar el software# y los ingenieros de software, analistas y programadores. Entradas. Lo que impulsa el desarrollo de un producto de software, como sucede en cualquier otra rama de la Ingeniera, es una necesidad "umana insatisfec"a o una oportunidad de me)orar una determinada condici$n. Esta necesidad u oportunidad es la entrada al sistema y puede ser e?presada inicialmente de manera ver al o por escrito. 0uando es ver al, el ingeniero de software de er e?presarla por escrito. La entrada es pues, una descripci$n precisa de las propiedades deseadas del software a desarrollar, desde el punto de 'ista del cliente , con sus propias pala ras y frases. El lengua)e del cliente suele ser astante vago, sin el uso de trminos tcnicos informticos y de computaci$n. La descripci$n puede ocupar tan solo media pgina o cientos de pginas. Cl documento resultante se le denomina perfil del software. Salidas. Las salidas estn directamente relacionadas con el o )etivo ya e?presado de la Ingeniera de Software+ software de alta calidad, confia le y econ$mico# con sus correspondientes manuales. Medioambiente. Son elementos relevantes en el medioam iente de la !ngenier"a de oftware todo lo que comprende a los denominados sta.e,olders, es decir, las personas e instituciones que tienen alg%n inters directo en el software o en su desarrollo# como los usuarios, los clientes, los inversionistas, los ingenieros de software y los ingenieros de requerimientos. Lam in suelen ser elementos del medioam iente+ el mercado, sistemas informticos con los que el software de e interactuar, las computadoras con sus equipos perifricos en las que el software operar y otros software e?istentes con los que el software a crear se interrelaciona de alguna manera. Elementos. Entre los principales elementos transformadores de las entradas en salidas en la Ingeniera de Software estn+ a. Tcnicas. Lodos los conceptos, mtodos, tcnicas, "erramientas y procedimientos derivados de la Ingeniera y de la 0iencia, aplica les a la sistemati,aci$n del proceso de desarrollo de software. . Bibliotecas de software. -$dulos y componentes de software destinados a facilitar el proceso de desarrollo de software. Se "allan dentro de stos, por e)emplo+ compiladores# clases, o )etos, rutinas y componentes reusa les# "erramientas para planificaci$n y diagramaci$n# procesadores de pala ra# y "erramientas 0CSE. c. Recurso u!ano. :erentes de proyecto, ingenieros de software, ingenieros de requerimientos, analistas y programadores, entre otros, que aportan la parte intelectual, las competencias y las "a ilidades "umanas necesarias al proceso de producci$n de software. d. "#ui$o. Lodas las computadoras y sus componentes perifricos necesarios para el proceso de desarrollo del software. %ontrol. La funci$n de control en la !ngenier"a de oftware es de e/trema importancia. Es en esta rea donde ms se cuestiona el uso del trmino Ingeniera al referirse al proceso de desarrollo de software. 0omo en todo sistema, a travs de la funci$n de control se de e monitorear, en un su proceso retroalimentativo, caractersticas relevantes del software que se desea mantener a)o control, so re todo las relativas a calidad y confia ilidad# y se de e e)ecutar las acciones correctivas que sean necesarias cuando se detectan desviaciones significativas. Lodas las operaciones de prue a que se reali,an durante el proceso son actividades comprendidas en la funci$n de control.

Ingeniero de Software.
Cdaptando un poco el enunciado del 0omit 0oordinador de la Ingeniera de Software 4, el Ingeniero de Software de e tener proeficiencia para anali,ar, diseFar, construir, verificar, validar, documentar, implementar y mantener sistemas de software# usando tcnicas y mtodos apropiados para asegurar la calidad en todas estas actividades. Je e entender y utili,ar mtodos, procesos, mtricas y "erramientas adecuadas durante el desarrollo de software. Je e poseer las "a ilidades necesarias para comunicarse y para tra a)ar en grupo, tal como se requiere en un am iente tpico de desarrollo de software.

IEEE 0omputer Society and C0- Software Engineering 0oordinating 0ommittee# 0ccreditation Criteria for oftware Engineering (re'ised 1223214)# "ttp+BBwww.swe o3.org

Vous aimerez peut-être aussi