Sie sind auf Seite 1von 5

TRABAJO INVESTIGATIVO PROGRAMACION

APLICADA
Abstract
In the continuous period of current developments,
it is stressing a growing importance of software in
various areas of society. At the same time, the
size and the complexity of the software it has
been involved in process of constantly increasing
together with the presence of a fast changing
demand. To address these challenges and the
demands of high quality and reliable software
distribution, software engineering offers a unique
combination of advanced technical knowledge
and necessary management capacity.

Resumen
En el continuo periodo de evolucin actual, se est recalcando
una creciente importancia del software en varios mbitos de la
sociedad. Al mismo tiempo, el tamao y la complejidad del
software se ha visto envuelto en procesos de constante
aumento sumado a la presencia de una rpida demanda
cambiante. Para hacer frente a estos retos y las exigencias de
la distribucin de software fiable y de alta calidad, la
Ingenieria de software ofrece una combinacin nica de
conocimientos tcnicos avanzados y capacidad de gestin
necesaria.

1. Introduccin
La sociedad post-moderna cada da ms se est centrando en la
bsqueda de soluciones de hardware y software dinmicos,
que pueden crecer y desarrollarse durante sus distintas fases de
construccin. Por lo tanto, el software se est convirtiendo
rpidamente en la principal fuerza impulsora de la innovacin
y el desarrollo futuro en diversas industrias, tales como la
industria automotriz, la industria de las telecomunicaciones, la
industria de defensa y de la propia industria del software.
En este sentido, la ingenieria de software se constituye en una
herramienta actual que posibilita las buenas prcticas en
cuanto al desarrollo de software, brindando y posibilitando la
implementacin de modelos de gestin de proyectos en
conjunto con el desarrollo de metodologas de control.

2. Ingenieria de Software
Comnmente se tiende a relacionar a la ingenieria de software
nicamente con el proceso superficial de construccin de
programas y el software con una estampa de mercanca
comercializable, lo cual se constituyen irremediablemente

como un error. En ese sentido y con el objetivo de aclarar


estos conceptos, se referencia que el compilador (quien
convierte el cdigo fuente en algo que la computadora puede
ejecutar) es quien realmente hace todo el proceso de
construccin del software mediante la escritura de lneas de
cdigo en un lenguaje predeterminado. Mientras que el
ingeniero, por el contrario, tiene que estudiar lo que se supone
tendr que construir el compilador. Esto mediante el desarrollo
de competencias entorno a la solucin creativa de problemas,
sumado a la gestin de proyectos.
De esta forma se puede visualizar, al ingeniero de software
ms como el arquitecto o incluso el diseador del proyecto desenvolvindose con firmeza en el diseo de las fases del
proceso de resolucin de problemas y con frecuencia
consolidndose como pieza clave en la resolucin de
problemas poco definidos o inusuales. Apelando a la
implementacin de tcnicas eficientes en pro de encontrar la
solucin ms ptima y novedosa.
Eso no significa que los ingenieros de software no tengan que
estar constantemente entrelazados con el manejo de
herramientas (como los lenguajes, marcos y los cdigos), para
hacer con normalidad el diseo de software ms eficaz y
eficiente.
Debido a la creatividad inherente necesaria para resolver
problemas de software anteriormente referenciada, el cdigo
fuente que varios ingenieros construyen a partir de los
"mismos" resultados, eventualmente manejan aspectos muy
diversos. A pesar de esto, si se adhieren a los principios
establecidos, patrones, diseos y mtodos para hacerlo,
entonces tendr muchas probabilidades de llegar a soluciones
de eficacia similar y que hayan llevado a cabo la tarea en
cuestin.
Estos principios, patrones, diseos y mtodos para producir un
buen software forman el ncleo de la ingeniera de software.
Muchos de los cuales fueron heredados de otras disciplinas de
ingeniera, mientras que otros ganan fuerza a las epifanas de
los ltimos aos en las trincheras de la creacin de software.
Complementariamente, es imperativo enmarcar anlogamente
los procesos sistemticos que el ingeniero de software debe
concretar con el fin de brindar y presentar la resolucin de
problemas de forma creativa. Como se muestra a
continuacin:
1.

Entender el problema

2.

Planificar una solucin

3.

Llevar a cabo ese plan

4.

Examine sus resultados para la precisin

necesariamente al rediseo y nueva programacin del cdigo


afectado, aumentando los costos del desarrollo.

En donde lo que mucha gente no entiende es que la mayor


parte del esfuerzo significativo entra en las dos primeras partes
del proceso. Si fallas, ya sea de los que, poco importa que
usted ha llevado a cabo su plan a la perfeccin y exactitud. De
esta manera que si quieres que pensar como un ingeniero,
resolver sus problemas completamente antes de sumergirse en
la implementacin de su solucin.
Para finalmente, velar por la consolidacin de un buen
producto informtico para el cliente, que se encuentre dentro
de los lineamientos de las mtricas de un buen software.
Descritas a continuacin.

-Eficiencia: El conjunto de recursos informticos y de


cdigo necesarios para que un programa realice su
funcin.

-Integridad: Hasta dnde se puede controlar el acceso


al software o a los datos por individuos no
autorizados.

Usabilidad (facilidad de manejo): El esfuerzo


necesario para aprender, operar, y preparar datos de
entrada e interpretar las salidas (resultados) de un
programa.

Facilidad de mantenimiento: El esfuerzo necesario


para localizar y arreglar un error en un programa.

Flexibilidad: El esfuerzo necesario para modificar un


programa operativo.

Facilidad de prueba: El esfuerzo necesario para


aprobar un programa para asegurarse de que realiza
su funcin pretendida.

Portabilidad: El esfuerzo necesario para trasladar el


programa de un entorno de sistema hardware y/o
software a otro.

Reusabilidad: (capacidad de reutilizacin): Hasta


dnde se puede volver a utilizar un programa (o
partes) en otras aplicaciones con relacin al
empaquetamiento y alcance de las funciones que
ejecuta el programa.

Interoperabilidad: El esfuerzo necesario para acoplar


un sistema con otro.

3. Modelos de desarrollo de Software


Como hasta ahora se ha tratado a la Ingenieria de software
de manera general, ahora se hablara desde algo ms especfico
y puntual como son los modelos. Primero tenemos el Modelo
en Cascada, es el enfoque que ordena rigurosamente las
etapas del ciclo de desarrollo del software, de forma tal que el
inicio de cada etapa debe esperar a la finalizacin de la
inmediatamente anterior (Figura 1). De esta forma, cualquier
error de diseo detectado en la etapa de prueba conduce

Fig1. Modelo en Cascada

Como ventajas se puede considerar que basta una planeacin


sencilla y que la calidad del producto es alta, pero como
desventajas se tiene la poca interaccin con el cliente, lo cual
puede afectar las mtricas del software. Posteriormente se
encuentra el Modelo Iterativo Fig.2, Es un modelo derivado
del ciclo de vida en cascada. Este modelo busca reducir el
riesgo que surge entre las necesidades del usuario y el
producto final por malos entendidos durante la etapa de
anlisis de requisitos.
Que consiste en la iteracin de varios ciclos de vida en
cascada. Al final de cada iteracin se le entrega al cliente una
versin mejorada o con mayores funcionalidades del producto.
El cliente es quien despus de cada iteracin evala el
producto y lo corrige o propone mejoras. Estas iteraciones se
repetirn hasta obtener un producto que satisfaga las
necesidades del cliente

Fig. 2 Modelo Iterativo

Adems del Modelo Evolutivo Fig.3 que permite desarrollar


versiones cada vez ms completas y complejas de un software,
hasta llegar al objetivo final deseado; incluso evolucionar ms
all, durante la fase de operacin. La idea detrs de este
modelo es el desarrollo de una implantacin del sistema
inicial, exponerla a los comentarios del usuario, refinarla en un
nmero de versiones hasta que se desarrolle el sistema
adecuado.

Fig. 5 Esquema del Modelo en Espiral

Se tiene tambin el Modelo DRA Fig. 7, Es un modelo de


proceso de software incremental que resalta un ciclo de
desarrollo corto. Es una adaptacin de "alta velocidad" del
modelo de cascada. El proceso de DRA permite que un equipo
de desarrollo cree un sistema completamente funcional dentro
de un periodo muy corto de 60 a 90 das. Y por ltimo en
encuentra el Modelo en V Fig. 8, se deriva directamente del
modelo en cascada, este modelo usa la verificacin como
actividad paralela al procedimiento ejecutado y no como
actividad aislada, es sencillo y de fcil aprendizaje e involucra
al usuario en las pruebas, pero estas pruebas a su vez pueden
llegar a ser costosas.
Fig.3 Modelo Evolutivo

Tambin se denota el Modelo Incremental Fig.4, que establece


la creacin de versiones por pequeas que sean de modo que a
partir de ellas, las creaciones posteriores en base a la que
primero fueron creadas, tendrn una caracterstica (o
caractersticas) funcionales, lo cual hace que se constituya en
base a elementos que funcionan y que va haciendo cada vez
ms compleja su funcionalidad. Los avances son entregados
mediante fechas programadas, de modo que cada incremento
posee nuevas funcionalidades a comparacin de un incremento
anterior.
Por otra parte se encuentra el Modelo en Espiral Fig. 5, En el
que se desarrolla software en una serie de versiones
incrementales. De tal forma que durante las primeras
iteraciones la versin incremental podra ser un modelo en
papel o un prototipo, y durante las ltimas iteraciones se
producen versiones cada vez ms completas del sistema
diseado.

Fig. 7 Esquema del Modelo DRA

Fig. 8 Esquema del Modelo V


Fig.4 Esquema del Modelo Incremental

Por lo tanto el modelo en V hace ms explcita parte de las


iteraciones y repeticiones de trabajo que estn ocultas en el
modelo en cascada. Mientras el foco del modelo en cascada se
sita en los documentos y productos desarrollados, el modelo
en V se centra en las actividades y la correccin.

4. Metodologas
La primer metodologa que se referenciara es la RUP, una
metodologa de desarrollo de programas para la Web orientado
a objetos y. De acuerdo con Rational (desarrolladores de
Rational Rose y el Unified Modeling Language ), RUP es
como un tutor en lnea que proporciona plantillas y ejemplos

para todos los aspectos y etapas del desarrollo del programa..


Otra Metodologa es la PMI que se consolida como la
asociacin profesional sin fines de lucro ms importante y de
mayor crecimiento a nivel mundial con la importante misin
de convertir a la gerencia de proyectos como la actividad
indispensable para obtener resultados en cualquier actividad
de negocios; De igual manera encontramos la metodologa
XP, que se define como un conjunto de prcticas optimas para
el desarrollo de aplicaciones en excelentes condiciones al
colocar al cliente en el centro del proceso de desarrollo,
manteniendo una cercana relacin con dicho cliente. La
siguiente metodologa es la CMMI, es un modelo para la
administracin de riesgos y que indica la capacidad de una
organizacin para administrar los riesgos. Esta indicacin es
un indicio de la probabilidad con la que una organizacin
puede cumplir sus promesas o proporcionar productos de alta
calidad que san atractivos para el mercado y por ultimo esta la
metodologa RMM, que se define como un proceso de
anlisis, diseo y desarrollo de aplicaciones hipermedia. Los
principales elementos son el modelo E-R (Entidad relacin) y
el modelo RMDM (Relationship Management Data Model)
basado en el modelo HDM. Esta metodologa es apropiada
para los dominios con estructuras regulares, es decir con clases
de objetos bien definidas y con claras relaciones entre esas
clases

5. Lenguaje Unificado de Modelado (UML)


En todas las disciplinas de la Ingeniera se hace evidente la
importancia de los modelos ya que describen el aspecto y la
conducta de "algo". Ese "algo" puede existir, estar en un
estado de desarrollo o estar, todava, en un estado de
planeacin. Es en este momento cuando los diseadores del
modelo deben investigar los requerimientos del producto
terminado y dichos requerimientos pueden incluir reas tales
como funcionalidad, performance y confiabilidad. Adems, a
menudo, el modelo es dividido en un nmero de vistas, cada
una de las cuales describe un aspecto especfico del producto o
sistema en construccin.
El modelado sirve no solamente para los grandes sistemas, aun
en aplicaciones de pequeo tamao se obtienen beneficios de
modelado, sin embargo es un hecho que entre ms grande y
ms complejo es el sistema, ms importante es el papel de que
juega el modelado por una simple razn: "El hombre hace
modelos de sistemas complejos porque no puede entenderlos
en su totalidad".

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.

UML, Mtodo o Lenguaje de Modelado?

UML es un lenguaje para hacer modelos y es independiente de


los mtodos de anlisis y diseo. Existen diferencias
importantes entre un mtodo y un lenguaje de modelado. Un
mtodo es una manera explcita de estructurar el pensamiento
y las acciones de cada individuo. Adems, el mtodo le dice al
usuario qu hacer, cmo hacerlo, cundo hacerlo y por qu
hacerlo; mientras que el lenguaje de modelado carece de estas
instrucciones. Los mtodos contienen modelos y esos modelos
son utilizados para describir algo y comunicar los resultados
del uso del mtodo.
Un modelo es expresado en un lenguaje de modelado. Un
lenguaje de modelado consiste de vistas, diagramas, elementos
de modelo los smbolos utilizados en los modelos y un
conjunto de mecanismos generales o reglas que indican cmo
utilizar los elementos. Las reglas son sintcticas, semnticas y
pragmticas.
Vistas: Las vistas muestran diferentes aspectos del
sistema modelado. Una vista no es una grfica, pero
s una abstraccin que consiste en un nmero de
diagramas y todos esos diagramas juntos muestran
una "fotografa" completa del sistema. Las vistas
tambin ligan el lenguaje de modelado a los mtodos
o procesos elegidos para el desarrollo. Las diferentes
vistas que UML tiene son:
Vista Use-Case: Una vista que muestra la
funcionalidad del sistema como la perciben los
actores externos.
Vista Lgica: Muestra cmo se disea la
funcionalidad dentro del sistema, en trminos de la
estructura esttica y la conducta dinmica del
sistema.
Vista de Componentes: Muestra la organizacin de
los componentes de cdigo.
Vista Concurrente: Muestra la concurrencia en el
sistema, direccionando los problemas con la
comunicacin y sincronizacin que estn presentes en
un sistema concurrente.
Vista de Distribucin: muestra la distribucin del
sistema en la arquitectura fsica con computadoras y
dispositivos llamados nodos.
-Diagramas: Los diagramas son las grficas que describen el
contenido de una vista. UML tiene nueve tipos de diagramas
que son utilizados en combinacin para proveer todas las
vistas de un sistema: diagramas de caso de uso, de clases, de
objetos, de estados, de secuencia, de colaboracin, de
actividad, de componentes y de distribucin.
-Smbolos o Elementos de modelo: Los conceptos utilizados
en los diagramas son los elementos de modelo que representan
conceptos comunes orientados a objetos, tales como clases,

objetos y mensajes, y las relaciones entre estos conceptos


incluyendo la asociacin, dependencia y generalizacin. Un
elemento de modelo es utilizado en varios diagramas
diferentes, pero siempre tiene el mismo significado y
simbologa.
Reglas o Mecanismos generales: Proveen comentarios extras,
informacin o semntica acerca del elemento de modelo;
adems proveen mecanismos de extensin para adaptar o
extender UML a un mtodo o proceso especfico, organizacin
o usuario

7. Conclusin
La ingeniera de software ha sido una pionera para la mejora
del funcionamiento de los sistemas, ya que ha aportado varias
herramientas para el desarrollo de software y ha dado
organizacin a los procesos de ingeniera, en general. Sus
mtodos han dado un gran avance con lo que respecta a
atencin al cliente, pues interacta de manera ms directa en
algunos de estos modelos a lo que quiere como producto final
lo cual mejora la satisfaccin y por ultimo lo organizacin en
los proyectos es vital bien sea un proyecto grande o pequeo
ya que permite entregar productos con alta calidad.

Referencias
[1]https://es.wikipedia.org/wiki/Proceso_Unificado_de_R

ational
[2]https://msdn.microsoft.com/esco/library/ee461556.aspx

[3]http://ingsoftwareresumenjaz.blogspot.com.co/2014/
10/modelo-rmm.html
[4] Paul Kimmel, Manual de UML, Revisin de los tipos
de diagramas, Pgina 7
[5]James Rumbaugh, The Unified Modeling Language
Reference Manual, Background, Pgina 3
[6] http://jarroba.com/modelo-41-vistas-de-kruchtenpara-dummies/
[7]https://softwarerecopilation.wordpress.com/modelorup/
[8]http://iswudistrital.blogspot.com.co/2012/09/ingenier
ia-de-software-continuacion.html
[9] http://fernandosoriano.com.ar/?p=13
[10]http://www.ptolomeo.unam.mx:8080/xmlui/bitstrea
m/handle/132.248.52.100/175/A5%20Cap
%C3%ADtulo%202.pdf?sequence=5

Das könnte Ihnen auch gefallen