You are on page 1of 8

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

(/62)7:$5(
8QDLQWURGXFFLyQDOD,QJHQLHUtDGHO6RIWZDUH


El software se ha convertido en el alma mater. Es la maquina que conduce a la toma de


decisiones comerciales. Sirve de base para la investigacin cientfica moderna y de
resolucin de problemas de ingeniera. Es el factor clave que diferencia los productos y
servicios modernos. Esta inmerso en sistemas de todo tipo : de transportes, mdicos, de
telecomunicaciones, militares, procesos industriales, entretenimiento, productos de oficina,
etc, .. la lista es casi interminable. El software es casi ineludible en un mundo moderno. A
medida que nos adentremos en el siglo XXI, ser el que nos conduzca a nuevos avances en
todo, desde la educacin elemental a la ingeniera gentica
3HURTXHHV"
El software de computadores es el que disean y construyen los ingenieros del software.
Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamao y
arquitectura , documentos que comprenden formularios virtuales e impresos y datos que
combinan nmeros y texto y tambin incluyen representaciones de informacin de audio,
video e imgenes.
(/62)7:$5(FRPRSURGXFWR

 &DUDFWHUtVWLFDVGHO6RIWZDUH
Para poder comprender lo que es el software (y consecuentemente la Ingeniera del
Software), es importante examinar las caractersticas del software que lo diferencian de
otras cosas que los hombres pueden construir.
El software es un elemento del sistema que es lgico, en lugar de fsico. Por lo tanto el
software tiene unas caractersticas considerablemente distintas a las del hardware:
o (O VRIWZDUH VH GHVDUUROOD QR VH IDEULFD HQ XQ VHQWLGR FOiVLFR. Aunque existen
similitudes entre el desarrollo del software y la construccin del hardware, ambas
actividades son fundamentalmente diferentes. En ambas actividades la buena
calidad se adquiere mediante un buen diseo, pero la fase de construccin del
hardware puede introducir problemas de calidad que no existen (o son fcilmente
corregibles) 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 de la construccin de un
producto, pero los mtodos son diferentes.
Los costes del software se encuentran en la ingeniera. Esto significa que los
proyectos de software no se pueden gestionar como si fueran proyectos de
fabricacin.
o (O VRIWZDUHQR VH HVWURSHD. El software no es susceptible a los males del entorno
que hacen que el hardware se estropee. Otro aspecto de ese deterioro ilustra la
diferencia entre el hardware y el software. Cuando un componente se estropea, se
sustituye por una pieza de repuesto. No hay pieza de repuesto para el software. Cada
,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

fallo en el software indica un error en el diseo o en el proceso mediante el que se


tradujo el diseo a cdigo maquina ejecutable. Por tanto, el mantenimiento del
software tiene una complejidad considerablemente mayor que la del mantenimiento
del hardware.
o /DPD\RUtDGHOVRIWZDUHVHFRQVWUX\HDPHGLGDHQYH]GHHQVDPEODUFRPSRQHQWHV
H[LVWHQWHV. No existen catlogos de componentes de software. Se puede comprar
software ya desarrollado, pero solo como una unidad completa, no como
componentes que pueden reensamblarse en nuevos programas.
 $SOLFDFLRQHVGHO6RIWZDUH
Existen muchas clasificaciones que se pueden hacer del software, una de ellas, y quizas
la mas acertada es clasificar al software de acuerdo a su aplicacin, es decir, de acuerdo
a la utilidad que se le da. De esta manera se tienen :
-

6RIWZDUHGH6LVWHPDV6RIWZDUHGH%DVH
Es un conjunto de programas que han sido escritos para servir a otros programas.
Son ejemplo de este tipo de software los distintos sistemas operativos (como Dos,
Windows, Unix, Linux, etc.) y as tambin los distintos lenguajes de programacin
6RIWZDUHGHWLHPSRUHDO
Es el software que coordina/analiza/controla sucesos del mundo real conforme
ocurren.
6RIWZDUHGH*HVWLyQ
El proceso de la informacin comercial constituye la mayor de las reas de
aplicacin del software. Son ejemplo de software de Gestin los distintos sistemas
que utilizan la banca, los supermercados, etc.
6RIWZDUHGH,QJHQLHUtD\&LHQWtILFR
Este software esta caracterizado por los algoritmos de manejo de nmeros con
mayor precision.
6RIWZDUHHPSRWUDGR
El software empotrado reside en memoria de solo lectura y se utiliza para controlar
productos y sistemas de los mercados industriales y de consumo. Ejm. de este tipo
de software es el sofware que traen los microondas, los automviles
computarizados, etc.
6RIWZDUHGH&RPSXWDGRUHV3HUVRQDOHV
Es todo el software utilizado en el manejo ordinario de las computadores
personales, tal es el caso de procesadores de texto(Word, Work, etc), hojas
electrnicas (Excel, Lotus, etc), graficadores, multimedia, entretenimiento, etc.
6RIWZDUHEDVDGRVHQ:HE

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

Es todo el software especializado para interactuar en la red de redes (Internet), tal es


el caso de programas para el desarrollo de paginas web. (HTML, Dreamweaver,
etc.)
-

6RIWZDUHGH,QWHOLJHQFLD$UWLILFLDO
El software de Inteligencia Artificial (IA) hace uso de algoritmos no numricos para
resolver problemas complejos para los que no son adecuados el clculo o el anlisis
directo.

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

(/62)7:$5((OSURFHVR

4XpHVHOSURFHVRGHO6RIWZDUH"
Cuando trabaja para construir un producto o un sistema, es importante seguir una serie de
pasos predecibles es un mapa a seguir
4XLHQORKDFH"
Los ingenieros de software y sus gestores adaptan el proceso a sus necesidades y entonces
lo siguen. Adems las personas que han solicitado el software tienen un papel a
desempear en el proceso del software.
3RUTXpHVLPSRUWDQWH"
Porque proporciona estabilidad, control y organizacin a una actividad que puede, si no se
controla, volverse catica.
&XDOHVVRQORVSDVRV"
A nivel detallado, el proceso que adoptemos depende del software que estamos
construyendo .
&XDOHVHOSURGXFWRREWHQLGR"
Desde el punto de vista de un ingeniero de software, los productos obtenidos son
programas, documentos y datos que se producen como consecuencia de las actividades de
ingeniera del software definidos por el proceso.
&RPRSXHGRHVWDUVHJXURGHTXHORKHKHFKRFRUUHFWDPHQWH"
Hay una cantidad de mecanismos de evaluacin del proceso del software que permiten a las
organizaciones determinar la madurez de su proceso del software. Sin embargo la
calidad, oportunidad y viabilidad a largo plazo del producto que est construyendo son los
mejores indicadores de la eficiencia del proceso que estamos utilizando.

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

,1*(1,(5,$'(62)7:$5(

/D LQJHQLHUtD GH VRIWZDUH HV HO HVWDEOHFLPLHQWR \ XVR GH SULQFLSLRV UREXVWRV GH OD
LQJHQLHUtD D ILQ GH REWHQHU HFRQyPLFDPHQWH VRIWZDUH TXH VHD ILDEOH \ TXH IXQFLRQHV
HILFLHQWHPHQWHVREUHPDTXLQDVUHDOHV.
LA ingeniera de software es una tecnologa multicapa. Cualquier enfoque de ingeniera
(incluida la ingeniera de software) debe apoyarse sobre un compromiso de organizacin de
calidad.

Herramientas
Mtodos
Proceso
Un enfoque de calidad

El fundamento de la ingeniera del software es la FDSDGHSURFHVR El proceso de la IS es


la unin que mantiene juntas las capas de tecnologa y que permite un desarrollo racional y
oportuno de la IS.
/RVPpWRGRV de la IS indican como construir tcnicamente el software. Los mtodos
abarcan una gama de tareas analisis de requisitos, diseo, construccin de programas,
pruebas y mantenimiento.
Las herramientas de la IS proporcionan un enfoque automtico o semi-automtico para el
proceso y los metodos.

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

0,726'(/62)7:$5(
Muchas de las causas de la crisis del software pueden ser encontradas en una mitologa que
surge durante los primeros aos del desarrollo del software.
Los mitos del software propagaron informacin errnea y confusin.
Los mitos del software tienen varios atributos que los hacen insidiosos:
o Aparecen como declaraciones responsables de hechos
o Tuvieron un sentido intuitivo
o Frecuentemente fueron promulgados por expertos que estaban al da
o Surgen en los primeros aos del desarrollo
Para un mejor entendimiento se ha clasificados los mitos del software en :
D 0LWRVBGHB*HVWLyQ
Los gestores estn normalmente bajo la presin de cumplir presupuestos, hacer que no se
retrase el proyecto y mejorar la calidad. El gestor se agarra a un mito del software aun que
tal creencia slo disminuya la presin temporalmente
0LWR  Tenemos un libro que est lleno de estandares y procedimientos para construir
software
5HDOLGDG Pero se usa?,conocen los trabajadores su existencia?,refleja las practicas
modernas en desarrollo del software?,es completo?. En muchos casos la respuesta a todas
estas preguntas es no.
0LWR Nuestra gente dispone de las herramientas de desarrollo de software ms avanzadas,
despus de todo les compramos las computadoras mas nuevas.
5HDOLGDG Se necesita mucho ms que el ltimo modelo de computadora, herramientas de
software, las cuales son mucho mas importantes que el hardware para conseguir buena
calidad y productividad.
0LWR Si fallamos en la planificacin podemos aadir ms programadores y adelantar el
tiempo perdido
5HDOLGDG El desarrollo de software no es un proceso mecnico como la fabricacin .
Aadir gente a un proyecto software retrasado lo retrasa aun mas. Cuando se aaden nuevas
personas,la necesidad de aprender y comunicarse con el equipo puede y hace que se
reduzca la cantidad de tiempo gastado en el desarrollo del producto. Puede aadirse gente,
pero slo de una manera planificada y bien conocida
E 0LWRVBGHOBFOLHQWH
Un cliente que solicita una aplicacin software puede ser interno a la compaa o una
compaa exterior. El cliente cree en los mitos que existen sobre el software debido a que
los gestores y trabajadores responsaables hacen muy poco para corregir la mala
informacin. Los mitos conducen a que el cliente se cree una falsa expectativa y
finalmente, quede insatisfecho con el desarrollo del software
,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

0LWR Una declaracin general de los objetivos es suficiente para comenzar a escribir los
programas, podemos dar los detalles ms adelante
5HDOLGDG Una mala definicin inicial es la principal causa del trabajo baldo en software.
Una descripcin formal y detallada del dominio de la informacin, funciones, rendimiento,
interfaces, ligaduras de diseo y criterios de Validacin es esencial. Estas caracteristicas
pueden determinarse slo despus de una exhaustiva comunicacin entre el cliente y el
analista.
0LWR Los requerimientos del proyecto cambian continuamente, pero los cambios pueden
acomodarse fcilmente ya que el software es flexible
5HDOLGDG El impacto del cambio varia segn el tiempo en que se introduzca
_____________
|

Coste |

del

|
Cam
bio

__________

___________

| 1,5 6x |

1x

60

|
|

100x

|
|

|__|_________|__|________|____|___________|_______
Definicin

Desarrollo

Mantenimiento

Si se pone atencin en dar la definicin inicial, los cambios solicitados pueden pronto
acomodarse facilmente, con relativamente poco coste.
Cuando los cambios se solicitan durante el diseo del software, el impacto en el coste crece
rpidamente.
Cuando se solicita al final de un proyecto, los cambios pueden producir un orden de
magnitud ms caro que el mismo cambio pedido al principio.
F 0LWRVGHBORVB'HVDUUROODGRUHV UHDOL]DGRUHV 
Los mitos en los que an creen muchos programadores se han fomentado durante cuatro
dcadas de cultura Informtica. Las viejas formas y actitudes tardan en morir
0LWR No hay realmente ningn metodo para el anlisis,diseo y prueba que funcione bien,
yo simplemente me voy a mi terminal y comienzo a codificar
5HDOLGDG Existen en la industria mtodos comprobados para el diseo, anlisis y prueba,
ninguno es infalible, pero el uso de una metodologa para el desarrollo del software est
implcito en todos ellos

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

(O6RIWZDUH,QJHQLHUtDGHO6RIWZDUH$GP,QIRUPiWLFD

0LWR: Una vez que escribimos el programa y hacemos que funcione, nuestro trabajo ha
terminado.
5HDOLGDG Mientras ms pronto se comience a escribir cdigo ms se tarda en terminarlo.
El desarrollo del software abarca tres actividades
o Definicin
o Desarrollo
o Mantenimiento
Adems los datos industriales indican que entre el 50% y 70% de todo el esfuerzo
dedicado a un programa se realizara despus de que se le haya entregado al cliente por
primera vez.
0LWR Hasta que no tengo el programa ejecutndose, realmente no tengo forma de
establecer calidad
5HDOLGDG Uno de los mecanismos mas efectivos para garantizar la calidad del software
puede aplicarse desde el principio de un proyecto, la revisin estructurada (Walktroug). La
revisin del software es filtro de calidad que se ha comprobado que es ms efectivo que la
prueba, para encontrar ciertas clases de defectos en el software
0LWR Lo nico que se entrega al terminar el proyecto es el programa funcionando
5HDOLGDG El programa es solo una parte de una configuracion del software, existen otras
tareas que se deben realizar, como documentacin del programa, tanto documentacin
interna, como externa (diccionario de datos, relacionamiento de tablas, etc)
0LWR Una vez que el Software se est usando, el mantenimiento es mnimo y puede
manejarse sobre la base de hacerlo como se pueda
5HDOLGDG La mitad de un presupuesto se gasta en mantenimiento, por tanto el
mantenimiento del software debe de (1) Oganizarse, (2) Planificarse, (3) Controlarse como
si fuera un cliente

,QJ/XLV3HUF\7DSLD)ORUHV3iJ

You might also like