You are on page 1of 5

EL ESTADO DEL ARTE DE LA INGENIRIA DEL SOFTWARE

UNIVERSIDAD COOPERATIVA DE COLOMBIA


Sede Cali sur

Facultad de Ingeniera de Sistemas


El estado del arte de la Ingeniera del Software

Asignatura
Ingeniera del Software

Docente
Juan Guillermo Torres

Integrante
Elsa Mariela Ordoez

14 de agosto de 2015
Cali - Valle

EL ESTADO DEL ARTE DE LA INGENIRIA DEL SOFTWARE


ESTADO DEL ARTE DE LA INGENIERIA DEL SOFTWARE
Ingeniera del software es una disciplina que recopila informacin de lo que requiere un
cliente y de todo conocimiento, norma, tcnica, formula, caracterstica, proceso,
metodologas, diseo entre otros; que se plasma con anticipacin en una apropiada
documentacin, la cual es la referencia y pasos a seguir en todo procedimiento. Cuando
la documentacin esta lista se puede continuar otra fase del desarrollo de software
llevando cada dato a una mquina para que en esta se abarque y ejecute toda funcin y
necesidad que se supone debe soportar dicho programa o software que se creara con el
objetivo de satisfacer las necesidades del usuario al cual hay que brindarle un programa
confiable y eficiente.
La ingeniera del software aplica mecanismos sistemticos, disciplinados, y cuantificables
para el desarrollo, aplicacin y mantencin de softwares fciles de manipular,
econmicos, confiables, que operen con eficacia y eficiencia en mquinas reales.
Existen metodologas y estndares de calidad en el proceso de desarrollo y evaluacin
de software, creados por organismos como IEEE y la ISO. Aun as en algunos pases
como Colombia, se desarrollan aplicaciones de baja calidad debido a que no existen
tcnicas propias para la construccin de programas, evidenciando la importancia de tener
una base de estndares propios para llegar a una perfeccin y obtener una certificacin
de calidad, al no tener algo propio adoptan las tcnicas del extranjero donde omiten
algunos pasos por lo cual muchos productos fracasan por no ser de buena calidad.
HERRAMIENTAS DE LA INGENIERA DEL SOFTWARE
UML (lenguaje unificado de modelado) es una tcnica para la especificacin sistemas en
todas sus fases. Naci en 1994 cubriendo los aspectos principales de todos los mtodos
de diseo antecesores y, precisamente, los padres de UML son Grady Booch, autor del
mtodo Booch; James Rumbaugh, autor del mtodo OMT e Ivar Jacobson, autor de los
mtodos OOSE y Objectory. La versin 1.0 de UML fue liberada en Enero de 1997 y ha
sido utilizado con xito en sistemas construidos para toda clase de industrias alrededor
del mundo: hospitales, bancos, comunicaciones, aeronutica, finanzas, etc. [1]
Las fases del desarrollo de sistemas que soporta UML son: Anlisis de requerimientos,
Anlisis, Diseo, Programacin y Pruebas.
VERSIONES DE UML
Versin UML 0.8 (octubre 1995) Mtodo Unificado
Versin UML 0.9 (junio 1996) Union OOSEUML
Versin UML 1.0 (enero 1997) Digital, HP, IBM, Microsoft, ORACLE, Texas Inc.,
Unisys entre otros, es ofrecida a OMG
Versin UML 1.1 (julio 1997) es aprobada por la OMG convirtindose en la notacin
Estndar de facto para el anlisis y el diseo orientado a objetos.
Versin UML 1.2 (junio 1998) por OMG
Versin UML 1.3 (junio 1999) por OMG
Versin UML 2.0 (marzo 2005) por OMG

EL ESTADO DEL ARTE DE LA INGENIRIA DEL SOFTWARE


LO QUE PODRA MEJORAR UML
A pesar de ser el lenguaje de modelado ms ampliamente utilizado en el desarrollo de
SW, es un hecho que UML carece de algunas capacidades necesarias para el modelado
de Sistemas de Tiempo Real como son: calidad de servicio (QoS), programacin de bajo
nivel, seguridad, fiabilidad, anlisis determinista y generacin de cdigo. Si se quiere
generalizar el uso de UML en la fase de modelado de todo sistema de tiempo real es
necesario enriquecer su capacidad expresiva para que pueda completar los modelos con
todos aquellos datos que los mtodos de anlisis requerirn en una fase posterior. Se han
tomado varias iniciativas para intentar disminuir esta carencia: Rational Rose RT de IBM
Se basa en la metodologa ROOM para ampliar UML, Tau de Telelogic Usa conceptos de
SDL (Specification and Description Language), muy empleado en el mundo de las
telecomunicaciones, para completar UML.
DIAGRAMAS UML
Diagrama de casos de uso
Diagrama de clases
Diagramas de secuencia
Diagramas de colaboracin
Diagrama de estado
Diagrama de actividad
Elementos de ayuda
Diagramas de componentes
Diagramas de implementacin
Diagramas de relacin de entidad
Conceptos del diagrama de relaciones de entidades extendido (EER)
Los principales beneficios de UML son:
Mejores tiempos totales de desarrollo (de 50 % o ms).
Modelar sistemas (y no slo de software) utilizando conceptos orientados a
objetos.
Establecer conceptos y artefactos ejecutables.
Encaminar el desarrollo del escalamiento en sistemas complejos de misin crtica.
Crear un lenguaje de modelado utilizado tanto por humanos como por mquinas.
Mejor soporte a la planeacin y al control de proyectos.
Alta reutilizacin y minimizacin de costos.

CASE (Computer Aided Software Engineering, Ingeniera de Software Asistida por


Computadora) son diversas aplicaciones informticas o programas informticos
destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo
de las mismas en trminos de tiempo y de dinero.
METODOLOGAS AGILES

EL ESTADO DEL ARTE DE LA INGENIRIA DEL SOFTWARE


Uno de los principales focos de aplicacin de las metodologas giles son los proyectos
tecnolgicos. Cada una de ellas tiene sus fortalezas y sus debilidades, pero no son
excluyentes. En cada proyecto podemos adoptar una, o varias, en funcin de las
caractersticas del propio proyecto y del equipo.
Entre las metodologas giles ms usadas se encuentran:
SCRUM. Es un marco de trabajo que nos proporciona una serie de herramientas y roles
para, de una forma iterativa, poder ver el progreso y los resultados de un proyecto.
KANBAN. Se basa en una idea muy simple. sta es que el trabajo en curso (Work In
Progress, WIP) debera limitarse y slo deberamos empezar con algo nuevo cuando un
bloque de trabajo anterior haya sido entregado o ha pasado a otra funcin posterior de la
cadena.
XP: Es una metodologa gil centrada en potenciar las relaciones interpersonales como
clave para el xito en desarrollo de software, promoviendo el trabajo en equipo,
preocupndose por el aprendizaje de los desarrolladores y propiciando un buen clima de
trabajo. [2]
MODELOS DE SOFTWARE
CASCADA
El modelo de la cascada es uno de los primeros modelos empleados en el desarrollo de
software, se popularizo en 1970 por Winston Royce y an est vigente en algunos
desarrollos. ste modelo se define como una secuencia de actividades a ser seguidas en
orden, donde la estrategia principal es definir y seguir el progreso del desarrollo de
software hacia puntos de revisin bien definidos, es decir, se codifica y reparan los
errores; es un proceso continuo de codificacin y reparacin.
Principales caractersticas
Es lineal
Las actividades estn relacionadas secuencialmente
Cada etapa tiene una entrada y una salida
Es rgido y sistemtico: La entrada de una actividad es la salida de la etapa
anterior, por lo cual no se puede dar inicio a la siguiente fase.
Es monoltico: Existe una nica fecha de entrega.
La implementacin se pospone hasta que no se comprendan los objetivos
Los documentos a entregar rigen el proceso de software

DESARROLLO EVOLUTIVO
Este enfoque entrelaza las actividades de especificacin, desarrollo y validacin. Un
sistema inicial se desarrolla rpidamente a partir de especificaciones abstractas. ste se
refina basndose en las peticiones del cliente para producir un sistema que satisfaga sus
necesidades.

EL ESTADO DEL ARTE DE LA INGENIRIA DEL SOFTWARE

INGENIERA DEL SOFTWARE BASADA EN COMPONENTES


Este enfoque se basa en la existencia de un nmero significativo de componentes
reutilizables. El proceso de desarrollo del sistema se enfoca en integrar estos
componentes en el sistema ms que en desarrollarlos desde cero.
Aunque existen muchos tipos de modelos de desarrollo, de forma genrica la mayora
est clasificada en una de estas 3 categoras, y estos a pesar de ser diferentes a veces
son usados de manera simultneamente especialmente en sistemas grandes.
CONCLUSIONES
La ingeniera del software se compone de muchas aplicaciones que sirven de apoyo para
la construccin y mantenimiento de software de calidad, econmico, fiable, eficiente y que
satisfagan las necesidades del usuario. En la actualidad an existen pases que no hacen
uso en su totalidad de la ingeniera del software y que tampoco cuentan con estndares
propios lo que conlleva a que adopten las de pases extranjeros, en muchos casos los
softwares que desarrollan tienden al fracaso debido a la baja calidad.

Referencias
[1] http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html
[2] http://blog.leanmonitor.com/es/que-son-las-metodologias-agiles/
https://docs.kde.org/trunk4/es/kdesdk/umbrello/uml-basics.html
http://www.ehu.eus/javier.portillo/tesia/2-ESTADO%20DEL%20ARTE.pdf
http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html

You might also like