El software se ha convertido en una parte fundamental de la sociedad moderna y se encuentra en casi todos los sistemas y productos tecnológicos. El software es diseñado y construido por ingenieros de software siguiendo un proceso sistemático. La ingeniería de software aplica principios de ingeniería para desarrollar software fiable y eficiente mediante el uso de métodos y herramientas de software.
1. (/ 62)7:$5(
8QD LQWURGXFFLyQ D OD ,QJHQLHUtD GHO 6RIWZDUH
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 investigación científica moderna y de
resolución de problemas de ingeniería. Es el factor clave que diferencia los productos y
servicios modernos. Esta inmerso en sistemas de todo tipo : de transportes, médicos, 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 educación elemental a la ingeniería genética
3HUR TXH HV
El software de computadores es el que diseñan y construyen los ingenieros del software.
Esto abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y
arquitectura , documentos que comprenden formularios virtuales e impresos y datos que
combinan números y texto y también incluyen representaciones de información de audio,
video e imágenes.
(/ 62)7:$5( FRPR SURGXFWR
DUDFWHUtVWLFDV GHO 6RIWZDUH
Para poder comprender lo que es el software (y consecuentemente la ingeniería del
software), es importante examinar las características del software que lo diferencia de
otras cosas que los hombres pueden construir. El software al ser un elemento lógico en
lugar de físico, tiene unas características distintas a las del hardware
- El software se desarrolla, no se fabrica en un sentido clásico
- El software no se estropea, se desactualiza
- Aunque la industria tiende a ensamblar componentes, la mayoría del software se
construye a medida
$SOLFDFLRQHV GHO 6RIWZDUH
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 aplicación, es decir, de acuerdo
a la utilidad que se le da. De esta manera se tienen :
- 6RIWZDUH GH 6LVWHPDV 6RIWZDUH GH %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í también los distintos lenguajes de programación
- 6RIWZDUH GH WLHPSR UHDO
Es el software que coordina/analiza/controla sucesos del mundo real conforme
ocurren.
2. - 6RIWZDUH GH *HVWLyQ
El proceso de la información comercial constituye la mayor de las áreas de
aplicación del software. Son ejemplo de software de Gestión los distintos sistemas
que utilizan la banca, los supermercados, etc.
- 6RIWZDUH GH ,QJHQLHUtD LHQWtILFR
Este software esta caracterizado por los algoritmos de manejo de números con
mayor precision.
- 6RIWZDUH HPSRWUDGR
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 automóviles
computarizados, etc.
- 6RIWZDUH GH RPSXWDGRUHV 3HUVRQDOHV
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
electrónicas (Excel, Lotus, etc), graficadores, multimedia, entretenimiento, etc.
- 6RIWZDUH EDVDGRV HQ :HE
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.)
- 6RIWZDUH GH ,QWHOLJHQFLD $UWLILFLDO
El software de Inteligencia Artificial (IA) hace uso de algoritmos no numéricos para
resolver problemas complejos para los que no son adecuados el cálculo o el análisis
directo.
3. (/ 62)7:$5( (O SURFHVR
4Xp HV HO SURFHVR GHO 6RIWZDUH
Cuando trabaja para construir un producto o un sistema, es importante seguir una serie de
pasos predecibles – es un mapa a seguir –
4XLHQ OR KDFH
Los ingenieros de software y sus gestores adaptan el proceso a sus necesidades y entonces
lo siguen. Además las personas que han solicitado el software tienen un papel a
desempeñar en el proceso del software.
3RUTXp HV LPSRUWDQWH
Porque proporciona estabilidad, control y organización a una actividad que puede, si no se
controla, volverse caótica.
XDOHV VRQ ORV SDVRV
A nivel detallado, el proceso que adoptemos depende del software que estamos
construyendo .
XDO HV HO SURGXFWR REWHQLGR
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
ingeniería del software definidos por el proceso.
RPR SXHGR HVWDU VHJXUR GH TXH OR KH KHFKR FRUUHFWDPHQWH
Hay una cantidad de mecanismos de evaluación 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.
,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
HILFLHQWHPHQWH VREUH PDTXLQDV UHDOHV.
LA ingeniería de software es una tecnología multicapa. Cualquier enfoque de ingeniería
(incluida la ingeniería de software) debe apoyarse sobre un compromiso de organización de
calidad.
4. Herramientas
Métodos
Proceso
Un enfoque de calidad
El fundamento de la ingeniería del software es la FDSD GH SURFHVR El proceso de la IS es
la unión que mantiene juntas las capas de tecnología y que permite un desarrollo racional y
oportuno de la IS.
/RV PpWRGRV de la IS indican “como” construir técnicamente el software. Los métodos
abarcan una gama de tareas Æ analisis de requisitos, diseño, construcción de programas,
pruebas y mantenimiento.
Las herramientas de la IS proporcionan un enfoque automático o semi-automático para el
proceso y los metodos.