INFORMATICA:
LA
INGENIERIA DEL SOFTWARE
Crea un producto “SOFTWARE “de
calidad construido mediante un proceso por
los ingenieros del software, mantenido a largo plazo y que casi todo el mundo industrializado o no lo usan de manera
directa o indirecta. Producto que se ha vuelto omnipresente en el comercio, la cultura y las actividades cotidianas.
La Ingenieria del Software tiene ciertos planteamientos e inquietudes como premisas :
Aptitud
para iniciar trabajos de investigación en el ámbito de Ingeniería del software sobre tópicos globalizantes
y necesarios para los usuarios.
SOFTWARE
EL producto obtenido de la Ingeniería del Software: Programas, contenido (Datos), Documentos resultantes, que mejoran
el mundo del usuario.
INTERROGANTES
SOBRE EL TEMA PARA EL INVESTIGADOR :
- Por qué se lleva mucho tiempo en la obtención del software
terminado en sus diferentes fases ?
- Cuando es ideal un Análisis de sensibilidad en los productos Beta?
- Cuales son los procesos ágiles para la Ingeniería del
Software?
- Por qué son tan altos los costos de desarrollo del software?
- Por qué es imposible evitar todos los errores del producto Software antes
de entregarlo al usuario?
- Se puede generar Software Multiuso sin desperdiciar recursos?.
- Por qué se gasta tiempo y esfuerzo en el mantenimiento del producto Software existente?
- Por qué es difícil medir el progreso al desarrollar y darle mantenimiento al Software?
- Cual es el costo insatisfecho del desgaste y deterioro del
Software?
- Por qué la preocupación de la Industria en sus diferentes àreas por un Software que satisfaga sus
requerimientos?
PROCESO:
- El Software de ordenadores se construye como cualquier producto de éxito.
- Utilizando un proceso que conduzca a un resultado de alta calidad.
- Que satisfaga las necesidades, requerimientos y aspiraciones
del usuario.
- Se aplica desde un enfoque de ingeniería del Software.
HISTORIA
Y EVOLUCIÓN
El Software nace como un elemento lógico y no físico de un sistema. Con
características diferentes a las del Hardware.
El software
se desarrolla o construye mediante la investigación a partir de 1970. Menos del 1 % Hace
50 años podía definirlo. En la actualidad muy pocos lo hacen en la realidad conceptual.
El Software no se “desgasta” es
inmune al desgaste físico. Pero si se “Deteriora “, Se usa la investigación
para crearlo y desarrollarlo, se
parte de la retroalimentación y el
mantenimiento para reactivarlo y la Gestión o administración de los sistemas para usarlo.
Durante su vida experimenta cambios, con posibilidad
de errores,los cuales son puestos a experimentación y pruebas a pedido expreso
del cliente, por componentes aún se construye a la medida.
Empieza con un programador solitario que investiga
para lograr la solución de problemas especializados, hoy son empresas” multidisciplinarias “de Ingeniería del
Software convertidos en Industria que abarca un gran espectro de tecnologías
y áreas de investigación, aplicación, y desarrollo bajo ciertas leyes que poco
han cambiado.
NATURALEZA Y CAMPOS PARA LA INVESTIGACIÓN :
- Software de Sistemas.
- Software de aplicación
- Software científico y de Ingeniería
- Software de Inteligencia artificial
- Software de la WEB
- Software empotrado
- Software de productos.
REFERENCIAS
BIBLIOGRAFICAS :
Daconta,M.,L Obrst
y K Smith, The Semantic Web, Wiley, 2003
Dayany-Fard H. ET AL., Legacy
Software Systems: Issues, Progress, and Challenges,IBM Technical Report:TR:74 165 –k, abril 1999, http://www.casibm.com.Toronto.
DeMarco,T., “Why
does Software Cost So Much”,Dorset House,1995.
Feigenbaum,E.A.y P.McCorduck, The fifth Generation, Addison-Wesley.1983.
Hammer, M. y J.Champy, Reeingineering
the corporation, HarperCollins Publishers, 1993.
Johnson,S., Emergence:
The Connected Lives of ants, Brains, cities and Software, scribner, 2001.
Lehman, M y L Belady.Program Evolution.”Processes of Software Evolution”- The Nineties View, Procceding of the 4th International Software
Metrics Symposium, IEEE,1997.
http://www.ece.utexas.edu/-perry/work/papers/feastl.pdf
Lippman, A.,Round
2.0, Context Magazine, Agosto 2002. http://www.context-mag.com
Williams,S., “A
Unified Theory of software Evolution “, Salon.com,2002. http://www.salon.com/teach/feature/2002/
Wolfram,S., A new
kind of science, wolfram Media, Inc, 2002
Yourdon,E., The rise
nad Resurrection of the American Programmer, Yourdon Press,1996.
Yourdon, E., Byte
Wars, Prentice-Hall, 2002.
MARCO DE TRABAJO DEL SOFTWARE: PROCESO
- QUE ES UN PROCESO DEL SOFTWARE?
- Qué actividades se realizan?
- Cuales son los patrones utilizados?
- Cómo se modelan los procesos?
- Cuales son los Modelos en cascada,modelo en componentes?.
- Qué aportan los Modelos evolutivos, pruebas Beta
- Como se optimiza la Reutilización y ensambladura
de componentes?
- Cuál es el análisis y diseño de los sistemas?
- Cuál es la rapidez del proceso? Desarrollo agil?
- Cual es el Análisis del Modelado agil (MA)?
- Diferencias entre el software actual y el tradicional?
- Cuales son los problemas, las fortalezas, debilidades
FODA de la Ingeniería del Software.?
- Qué es un proceso Unificado en comparación con un
modular?
- En que consistem los Métodos de desarrollo de sistemas
dinámicos (MDSD).
- Como se cuantifica el Desarrollo Adaptativo de Software.(D.A.S)?
-
Según IEEE, La Ingeniería del Software” es la aplicación de un enfoque
sistemático, disciplinado y cuantificable de un proceso, del desarrollo, operación y mantenimiento del SOFTWARE”, bajo pruebas: empiricas, experimentales y consideraciones
sobre :verificación de programas, pruebas de corrección, con el SQA estadístico.
- Tecnología estratificada.
- Marco de trabajo.
- Integración del modelo de capacidad de madurez (IMCM)
- Patrones del proceso.
- Evaluación del proceso.
- Modelos del proceso personales.
- Modelos del proceso en equipo.
- Tecnología apropiada en el proceso.
- Producto Vs proceso.
REFERENCIAS BIBLIOGRAFICAS
Ambler,S., Process
Patterns:Building Large-Scale System Using Object Technology, Cambridge University, 1998.
Baetjer, Jr.,H. Software as Capital, IEEE., Computer
Society Press.,1998.
Bohem,B., The Spiral Model as a Tool for Evolutionary Software Acquisition, CrossTalk, Mayo 2001. http://www.stsc.hill.af.mil/crosstalk/2001/05/boehm.html
Booch,G., Object-Oriented
Analysis and Design,2 ed, 1994
Software Engineering Institute, Capability, Madurity Model Integration 1.1, marzo 2002. http://www.sei.cmu.edu/cmmmi
Cockburn,A., Agile
Software Development, Addison-Wesley, 2002.
Davis, M., Process and product.Dichotomy or Duality,
Software Engineering Notes, ACM Press, vol 20, Nª 2, abril 1995 pp 17-18
DeMarco, T y B., “The Agiles Methods Fray “, IEEE Computer, Vol 35, Nª6, Junio 2002.
El
Emam, k.,J. The theory
and practice of software process improvement and capability Determination, IEEE
Computer Society Press, 1998..
Humphrey, W.,”Using
a Defined and Measured Personal Software Process, IEEE Software, Vol 13, Nª3. mayo 1996, pp78.
Jacobson, l.. Object-Oriented
Software Engineering, Addison-Wesley. 1992
Naur,P y B, Randall., Software engineering: A report and conference Sponsored by the NATO science Committee,1969.
Negele, H., “Modeling
of Integrated Product of Development process”.,9th Annual Symposium of INCOSE, Reino Unido, 1999.
Nogueira,J., et al, “Applications of Software Engineering, Technology Symposium, junio 2000,. http://dodccrp.org/2000CCRTS/cd/html/pdf_papers
Stapleton,j.,DSDM- Dinamic System Development Method in Practice, Addison Wesley, 1997.
Wirfs-Brock,R,B., et al Designing Object Oriented Software, Prentice Hall, 1990.
Yourdon,E., Software
Reuse., Application Development Strategies, Vol 6, Nª 12, Diciembre 1994.
Yourdon,E., “
When good enough is best. IEEE Software, Vol 12. Nª3, mayo 1995.
TRABAJO DEL SOFTWARE
:
PROCESO GENERICO COMPUESTO POR ACTIVIDADES:
- Conocimientos :Conceptos, Principios, Métodos, Procedimientos, herramientas, Tecnologías, Estrategias,
etc
- Comunicación: Identificar cliente primario y otros
participantes, reunión con cliente, necesidades y valores, restricciones, revisión Y enunciado,
- Planeación: Reevaluar el ámbito del proyecto, Refinar los escenarios usuario, funciones y características
de escenarios, entradas y salidas, escenarios, prioridades
- Modelado: Revisar requisitos del negocio, refinar los
escenarios, actores, modelar la información, dominio funcional, dominio de comportamiento, interfase de usuario.revisión de
todos los modelos.
- Construcción:Infraestructura arquitectónica,Componentes del Software,Pruebas de unidad al componente,integración
componente-arquitectura.
- Despliegue: Medios de entrega, Soporte Humano,Establecer mecanismos de retroalimentación del usuario.funciones
de soporte continuo.
REFERENCIAS BIBLIOGRAFICAS
-
Bohem,B., “Anchoring the software Process”,
IEEE Software, Vol 13, Nº4, Julio 1996.
-
Humphrey, W.,”Using a Defined and Measured Personal
Software Process, IEEE Software, Vol 13, Nª3. mayo 1996, pp78.
-
Jacobson, l.. Object-Oriented Software Engineering, Addison-Wesley.
1992
-
Negele, H., “Modeling of Integrated Product of Development
process”.,9th Annual Symposium of INCOSE, Reino Unido, 1999.
-
Nogueira,J., et al, “Applications of Software Engineering,
Technology Symposium, junio 2000,. http://dodccrp.org/2000CCRTS/cd/html/pdf_papers
-
Stapleton,j.,DSDM- Dinamic
System Development Method in Practice, Addison Wesley, 1997.
-
Wirfs-Brock,R,B., et al Designing
Object Oriented Software, Prentice Hall, 1990.
INGENIERIA
DEL SOFTWARE DE SALA LIMPIA
Evitar
la dependencia de costosos procesos de eliminación de defectos al escribir los incrementos de código correcto la primera vez y verificar su corrección antes de ponerlos
a prueba.