Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EVOLUCION HISTORICA
El Comité de ciencia de la OTAN patrocinó dos conferencias3 sobre ingeniería del software
en 1968 (Garmisch, Alemania — ver informe|de la Conferencia) y en 1969, que dio al campo
su impulso inicial. Muchos creen que estas conferencias marcaron el inicio oficial de la
profesión de la ingeniería de software.
4. Proyectos de software
Aparentemente, cada nueva tecnología y práctica de la década de 1970 a la de 1990 fue
pregonada como una bala de plata para resolver la crisis del software. Herramientas,
disciplina, métodos formales, proceso, y profesionalismo fueron promocionados como
balas de plata:
El crecimiento del uso del navegador, corriendo en el lenguaje HTML, cambió la manera en
que estaba organizada la visualización y la recuperación de la información. Las amplias
conexiones de red condujeron al crecimiento y la prevención de virus informáticos
internacionales en computadores con MS Windows, y la gran proliferación de correo basura
se convirtió en una cuestión de diseño importante en sistemas de correo electrónico,
inundando canales de comunicación y requiriendo de precalificación semiautomatizada.
Sistemas de búsqueda de palabra clave evolucionaron en buscadores web, y muchos
sistemas de software tuvieron que ser rediseñados, para la búsqueda internacional,
dependiendo de las técnicas de posicionamiento en buscadores (SEO). Fueron necesarios
sistemas de traducción de lenguaje natural humano para intentar traducir el flujo de
información en múltiples idiomas extranjeros, con muchos sistemas de software siendo
diseñados para uso multilenguaje, basado en conceptos de diseño de traductores humanos.
Típicas bases de usuarios de computadora con frecuencia pasaron de cientos o miles de
usuarios a muchos millones de usuarios internacionales.
1. Aspectos: Los aspectos ayudan a los ingenieros de software a lidiar con los atributos de
calidad al proporcionar herramientas para añadir o quitar código repetitivo de muchas áreas
en el código fuente. Los aspectos describen cómo todos los objetos o funciones deben
comportarse en circunstancias particulares. Por ejemplo, los aspectos puede agregar
control de depuración, registro o bloqueo en todos los objetos de un tipo particular. Los
investigadores actualmente están trabajando para comprender cómo utilizar aspectos para
diseñar el código de propósito general. Conceptos relacionados incluyen programación
generativa y plantillas.
2. Ágil: El desarrollo ágil de software guía a los proyectos de desarrollo de software que
evolucionan rápidamente con cambiantes expectativas y mercados competitivos. Los
proponentes de este método creen que procesos pesados, dirigidos por documentos (como
TickIT, CMM e ISO 9000) están desapareciendo en importancia. Algunas personas creen
que las empresas y agencias exportan muchos de los puestos de trabajo que pueden ser
guiados por procesos pesados. Conceptos relacionados incluyen la programación extrema,
scrum y lean software development.
Validación: el software debe ser probado para asegurar que cumple con las necesidades del
cliente.
Evolución: el software debe poder ser modificado para adaptarse a cambios en el mercado
y en las necesidades de los usuarios.
Cada producto software necesita un proceso diferente. Por tanto, estas etapas genéricas
deben organizarse de diferente manera y en diferentes niveles según el tipo de software
para el que se aplique el proceso. Un uso inapropiado del proceso software puede reducir
la calidad o la usabilidad del producto a ser desarrollado, e incluso incrementar los costes
de desarrollo.
Los enfoques más generales son los siguientes:
Modelo en cascada: ordena rigurosamente las etapas del ciclo de vida del software, de tal
forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente
anterior. La primera descripción formal la realizó en 1970 Winston W. Royce, en uno de sus
artículos.
Espiral: Combinación de procesos en cascada y prototipado. Fue definido por Barry Boehm
en 1986 en el artículo “A Spiral Model of Software Development and Enhancement”.
En 1987, Ivar Jacobson fundó la compañía Objectory AB, que desarrolló Objetory, un
método de desarrollo orientado a objetos, extensión de lo que se conocía como
aproximación Ericsson. En 1995, Rational Software compró Objectory AB, y en los siguientes
años desarrollaron y lanzaron el estándar UML (Unified Modeling Language), así como el
Rational Unified Process (RUP), que aunaba los esfuerzos y la experiencia de todas las
compañías adquiridas por Rational Software. En diciembre de 2002, IBM adquirió Rational
Software.
PRINCIPIO KISS
El principio KISS (del inglés Keep It Simple, Stupid!:1 «¡Mantenlo sencillo, estúpido!») es un
acrónimo usado como principio de diseño.
El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de modelado
visual común y semántica y sintácticamente rico para la arquitectura, el diseño y la
implementación de sistemas de software complejos, tanto en estructura como en
comportamiento. UML tiene aplicaciones más allá del desarrollo de software, p. ej., en el
flujo de procesos en la fabricación.
UML usa las fortalezas de estos tres enfoques para presentar una metodología más
uniforme que sea más sencilla de usar. UML representa buenas prácticas para la
construcción y documentación de diferentes aspectos del modelado de sistemas de
software y de negocios.
RE INGENIERIA
Para que una empresa adopte el concepto de reingeniería, tiene que ser capaz de
deshacerse de las reglas y políticas convencionales que aplicaba con anterioridad y estar
abierta a los cambios por medio de los cuales sus negocios puedan llegar a ser más
productivos
Una definición rápida de reingeniería es "comenzar de nuevo". Reingeniería también
significa el abandono de viejos procedimientos y la búsqueda de trabajo que agregue valor
hacia el consumidor.
Las actividades de valor agregado tienen dos características, es algo que el cliente aprecia y
es importante que se ejecuten correctamente desde la primera vez. La reingeniería se basa
en crear procesos que agreguen el mayor valor a la empresa.
En la definición anterior planteada por Hammer y Champy existen cuatro palabras claves:
Fundamental, Radical, dramáticas y Procesos.
3. Las mejoras esperadas deben ser dramáticas (no de unos pocos porcentajes).
Se puede decir que una reingeniería es un cambio dramático en el proceso y que como
efecto de esto se tendrá un rompimiento en la estructura y la cultura de trabajo.