Professional Documents
Culture Documents
Este material es propiedad de la Corporacin Universitaria Remington (CUR), para los estudiantes de la CUR
en todo el pas.
2011
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 5
CRDITOS
El mdulo de estudio de la asignatura Ingeniera del Software I es propiedad de la Corporacin Universitaria Remington.
Las imgenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de autor y las citas en la
bibliografa. El contenido del mdulo est protegido por las leyes de derechos de autor que rigen al pas.
Este material tiene fines educativos y no puede usarse con propsitos econmicos o comerciales.
AUTOR
Rodrigo Alcides Patio Arango
Ingeniero de sistemas
Experiencia 5 aos
rodrigo.patino@remington.edu.co
Nota: el autor certific (de manera verbal o escrita) No haber incurrido en fraude cientfico, plagio o vicios de autora; en
caso contrario eximi de toda responsabilidad a la Corporacin Universitaria Remington, y se declar como el nico
responsable.
RESPONSABLES
Dr. Mauricio Seplveda
Director de la ESCUELA DE CIENCIAS BSICAS E INGENIERA
Director Pedaggico
Octavio Toro Chica
dirpedagogica.director@remington.edu.co
Coordinadora de Medios y Mediaciones
Anglica Ricaurte Avendao
mediaciones.coordinador01@remington.edu.co
GRUPO DE APOYO
Personal de la Unidad de Medios y Mediaciones
EDICIN Y MONTAJE
Primera versin. Febrero de 2011.
Derechos Reservados
Esta obra es publicada bajo la licencia CreativeCommons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 6
TABLA DE CONTENIDO
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 7
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 8
1. MAPA DE LA ASIGNATURA
NOMBRE DE LA ASIGNATURA
OBJETIVO GENERAL
Comprender los diferentes enfoques que propone la Ingeniera del software los cuales reglamentados bajo
estndares de calidad sirven de gua inductiva al momento del desarrollo de un producto.
OBJETIVOS ESPECFICOS
Diferenciar claramente los diversos enfoques, estndares y metodologas que rigen a la ingeniera
del software y los diversos procesos que hacen que los proyectos funcionen adecuadamente.
Dar a conocer la bondades que tiene la prctica de la ingeniera del software como una gua que
coadyuva a la solucin de las diversos problemticas que tienen las empresas en cuanto al control
y manejo de la informacin, aplicando diversos modelos que ilustren de una manera eficaz la
forma como deben orientarse para su permanencia en el medio.
Aplicar conceptos claros del software mediante el uso de herramientas que faciliten la manera del
desarrollo de aplicaciones que satisfagan las necesidades del cliente al menor costo y en el menor
tiempo posible.
Desarrollar en el estudiante un alto grado de anlisis, que le permita la comprensin de la
estructura del conocimiento de la ingeniera del software, para aplicarlo posteriormente en los
diferentes tipos de resolucin de problemas que puedan presentarse aplicables en diversas reas
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 9
OBJETIVO GENERAL
Diferenciar claramente los diversos enfoques, estndares y metodologas que rigen a la ingeniera
del software y los diversos procesos que hacen que los proyectos funcionen adecuadamente.
OBJETIVOS ESPECFICOS
Reconocer la historia que enmarca el nacimiento de la Ingeniera del Software como disciplina.
Reconocer la historia y la estructura del conocimiento de la Ingeniera del Software a travs de
los conceptos de Herramientas, Mtodos, Procesos y Filosofas y/o Enfoques, analizando el
nivel de complejidad y las diferentes premisas y enfoques que existen respecto a la
Ingeniera del Software.
Diferenciar las Filosofas de pensamiento alrededor de la Ingeniera del Software y los
estndares y metodologas aplicadas
Prueba Inicial
1. El software es:
2. Un estndar es:
a. Una coleccin de componentes reutilizables.
b. Una reestructuracin del hardware.
c. Normas internacionales que controlan el desarrollo del software.
d. Conjunto de instrucciones que permite al hardware de la computadora desarrollar un
trabajo til.
e. Todas las anteriores.
f. Ninguna de las anteriores.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 10
3. Un sistema es:
6. El software de computadora es
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 11
El software es la parte intangible del computador, lo que usted puede visualizar pero que no puede
tocar. Es catalogado como el alma del computador. Es el resultado que obtienen los ingenieros de
software al terminar su trabajo o labor. Se debe tener presente que el software no se desgasta, pero
si se deteriora. Dentro de las partes del software tenemos:
1
www.slideshare.net/.../diapositivas-de-ingenieria-de-software, Diapositivas De Ingenieria De Software, tomado el 10-
05-2011.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 12
En 1946 ENIAC ocupaba una superficie de 160 m2, pesaba 30 toneladas, y ofreca una capacidad de
proceso de 30.000 instrucciones por segundo. En 2002 El microprocesador Pentium IV a 2 GHz
ocupa una superficie de 217 mm2 y tiene una capacidad de proceso de 5.300 MTOPS (Millions of
theoretical operations per second) Este es el escenario creado por la industria del hardware, y que
en las tres ltimas dcadas ha implicado a los desarrolladores de software en retos a los que no han
sabido responder con solvencia.
Se debe tener presente que an desde los aos atrs hasta nuestra poca el software es solicitado
para ejecutar las tareas demandantes que exige el medio y sobre todo est presente en todos los
sistemas que van desde los ms sencillos hasta los de misin crtica.
Se puede afirmar entonces que las aplicaciones de software son complejas porque modelan la
complejidad del mundo real. Por lo tanto, si el cliente (persona que solicita la realizacin de un
programa o software) tiene claro qu quiere, interferir mucho menos en el proceso de desarrollo,
obligando a cambiar aspectos que ya haban sido convenidos previamente con el desarrollador.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 13
Ms sin embargo no podemos descartar que ciertamente el cliente por lo general casi siempre le
exigir cambios al desarrollador cuando ya ciertos aspectos del cdigo estn terminados, por lo cual
es aconsejable pactar muy bien por escrito todas las exigencias del cliente antes de iniciar a
construir el cdigo, para evitar complicaciones futuras2.
Definicin:
Son normas internacionales que reglamentan y controlan el desarrollo de software a nivel mundial.
Los estndares son tiles porque:
Agrupan lo mejor y ms apropiado de las buenas prcticas y usos del desarrollo de software, lo
cual permite construir software de alta calidad.
Proporcionan un marco (terico-prctico) para implementar procedimientos de aseguramiento
de la calidad.
Proporcionan continuidad y entendimiento entre el trabajo de personas y organizaciones
distintas3.
2
Roger S. Pressman
3
www.slideshare.net/.../diapositivas-de-ingenieria-de-software, Diapositivas De Ingeniera De Software, tomado 10-05-
2011
4
serdis.dis.ulpgc.es/.../02. %20Estandares%20y%20modelos%20de%20Ingenieria%20del%2... -, Resultados de la
bsqueda [PDF]
(Microsoft PowerPoint - Est\341ndares y modelos de Ingenier\355a ..., tomado el 10-05-2011
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 14
Un Ingeniero de Software debe conocer las tcnicas de cada momento, pero la definicin de
procesos y metodologa de trabajo es la esencia de la profesin. As por ejemplo, el rea de
conocimiento de requisitos, s que puede considerarse como esencia de la profesin. Los
problemas que pueden derivarse en un proyecto por una mala obtencin o gestin de los requisitos
son indistintos del hardware o lenguaje de programacin empleado5. Se puede afirmar que estos
eran los mismos hace dos dcadas que ahora, y todo nos hace suponer que seguirn siendo
idnticos dentro de otros aos venideros.
El proyecto SWEBOK fue quien constituy a la Ingeniera del Software como profesin, se puede
decir que la certific, para lo cual se tuvieron en cuenta varias reas o requisitos necesarios para
garantizar la calidad del proyecto. Entre estos tenemos:
Gestin de la configuracin
Gestin (planificacin, supervisin y control de los mtodos, procesos y herramientas)
Los Procesos (estrategias de planeacin)
Herramientas y mtodos (como centro de partida del proyecto)
Calidad (totalmente garantizada)
Requisitos (necesariamente de la etapa de comunicacin y de los procesos)
Diseo
Construccin (cdigo)
Pruebas (reglamentadas)
Mantenimiento (realimentacin)
Es importante resaltar que estas reas no incluyen aspectos importantes de las tecnologas de la
informacin, tales como lenguajes especficos de programacin, bases de datos relacionales o redes
o tecnologa de redes y comunicaciones.
Esta es una consecuencia de la distincin que entre esencia y accidente se establece desde un
enfoque de ingeniera.
5
www.slideshare.net/evelio/ingenieria-del-software, ingenieria del software, tomado 10-05-2011
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 15
Por supuesto que un Ingeniero de Software debe tener presente y conocer las tcnicas de cada
momento, pero la definicin de procesos y metodologa de trabajo es la esencia de la profesin.
Como se coment al comienzo del tema de Swebok. Se puede afirmar que es lo principal. As por
ejemplo, el rea de conocimiento de requisitos, s que puede considerarse como esencia de la
profesin.
Los problemas que pueden derivarse en un proyecto por una mala obtencin o gestin de los
requisitos son indistintos del hardware o lenguaje de programacin empleado. Recuerde que los
problemas del proyecto parten de la etapa de comunicacin (programador cliente), ya que se
planea, analiza y construye lo que se recopila como centro de informacin necesaria para la
realizacin del producto final.
ISO 12207
Establece un marco en el ciclo de vida del software para la adquisicin, suministro, desarrollo,
operacin y mantenimiento del software, as como tambin para gestionar, controlar y mejorar el
marco de trabajo que incluye la realizacin del cada proceso que conlleve a la realizacin del
producto, lo que sirve como base de referencia para el trabajo e intercambio entre organizaciones
de software.
6
http://www.slideshare.net/msc080277/ingenieria-del-software2872 consultado el 24-06-2009
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 16
Por lo cual se puede afirmar que un proceso est compuesto por actividades y estas a su vez por
tareas.
El ciclo de mejora de un proceso que lo componen actividades y tareas los cuales conlleva
la (Planificacin, ejecucin, medicin y mejora)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 17
ISO 12207 tiene una relacin directa con la ingeniera de sistemas ya que el software se convierte en
parte importante del sistema
Pensar en desarrollar software o solucionar problemas empresariales sin tener una base slida y un
conocimiento pleno sobre el tema es un gran error que se comete porque la persona que inicia con
un tipo de proyectos como esto tiene la gran responsabilidad sobre el trabajo encomendado y es
ante esas personas a las que le est trabajando a las que tiene que demostrarle que la solucin dar
a la empresa ventajas competitivas y comparativas para poder permanecer en un mercado tan
competitivo. Y es por eso que se debe estar a la vanguardia de los nuevos avances para poder
desarrollar o solucionar problemas acordes a los lineamientos que se piden dentro de los
estndares que se deben utilizar en los cuales no se piensa en una solucin para una empresa
especfica sino que se piensa en empresas similares en donde la adaptacin de un software debe
ajustarse a los procesos y no adaptar los procesos al software.
2.2. Un sistema
Para desarrollar software, se necesita de una computadora (hardware: parte tangible del
computador), la cual est compuesta por diversos elementos o componentes (partes del hardware),
adems se necesita de las personas (ingenieros de software), porque son quienes realizaran los
procedimientos que llevaran a la realizacin del programa o cdigo fuente.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 18
Cabe agregar que la Ingeniera de Sistemas es quien da paso a la Ingeniera del Software,
empezando con un entendimiento claro de todo el contexto que involucra tanto a los detalles
tcnicos como a los diferentes procedimientos que se llevarn a cabo en la bsqueda del resultado
esperado (producto o software).
Anlisis de la solucin: Determinar las opciones posibles para satisfacer los requisitos y las
restricciones. Estudiar y analizar las posibles soluciones. Seleccionar la mejor, sopesando las
necesidades inmediatas, opciones de implementacin, utilidad, evolucin del sistema
Planificacin de los procesos: Determinar los grupos de tareas tcnicas que se deben realizar,
el esfuerzo requerido para cada una, su prioridad y los riesgos que implican para el proyecto.
Control de los procesos: Determinar los mtodos para controlar las actividades tcnicas del
proyecto y los procesos; la medicin del progreso, revisin de los productos intermedios y
ejecucin de las acciones correctivas, cuando corresponda.
7
www.slideshare.net/.../unidad-uno-ingenieria-de-software, Unidad uno ingeniera de software, tomado el 10-05-2011
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 19
Mencione algunos ejemplos (3) positivos y negativos que indiquen el impacto del software en
la sociedad actual.
Mencione algunas posibles fallas del hardware y posibles soluciones para evitar estas fallas (3)
Cree usted que una vez que el programa (software) ha sido terminado y puesto a funcionar EL
TRABAJO EST TERMINADO. Si No. Por qu? EXPLIQUE
Cul es el ciclo de mejora para la descomposicin de un proceso en actividades y tareas?
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 20
La ingeniera de software se puede definir como la rama de la ingeniera que crea y mantiene las
aplicaciones de software aplicando tecnologas y prcticas de las ciencias computacionales, manejo
de proyectos, el mbito de la aplicacin, y otros campos. Esta ingeniera abarca un proceso,
mtodos y herramientas fundamentados en el desarrollo del producto bajo normas o estndares
que reglamenten la calidad.
El software de computadora es el producto que los Ingenieros de Software construyen: incluye los
programas que se ejecutan dentro de una computadora de cualquier tamao y arquitectura. Lo
construyen los ingenieros de software y casi todos en el mundo industrializado lo usan de manera
directa o indirecta.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 21
Es importante porque afecta de forma muy cercana todos los aspectos de nuestras vidas. Este
software de computadora se construye de la misma forma que cualquier producto de xito,
mediante la aplicacin de un proceso que conduzca a un resultado de alta calidad que satisfaga las
necesidades de las personas que utilizaran el producto (se hace referencia a los programas, los
cuales contienen los datos y los dems documentos que constituyen el software) desde el punto de
vista del usuario el producto obtenido es la informacin.
Nadie sabe en realidad el futuro de los sistemas que da a da se construyen, ms sin embargo sin
importar el lugar en el que resida el software, ya sea en un celular o dentro de una computadora
central, el software realiza la produccin, el manejo, la adquisicin, la modificacin, el despliegue o
la transmisin de la informacin que puede ser tan simple como un solo bit o tan compleja como
una presentacin multimedia. En su papel de vehculo para la entrega de un producto, el software
acta como la base para el control de la computadora (sistemas operativos), la comunicacin de
informacin (redes) y la creacin y el control de otros programas (utileras de software y
ambientes).
9
El software entrega el producto ms importante de nuestro tiempo: informacin. Transforma los
datos personales, por ejemplo las transacciones financieras de un individuo, de modo que los datos
sean ms tiles en un contexto local. Maneja informacin de negocio para mejorar la
competitividad, proporciona una va para las redes de informacin alrededor del mundo (Internet) y
proporciona los medios para adquirir informacin en todas sus formas (pginas web).
Se debe tener presente que el software es un elemento lgico en lugar de fsico, de un sistema
(parte intangible del computador). El software se desarrolla o construye, no se manufactura
(componentes del hardware, los cuales pueden incluir problemas de calidad inexistentes o sea, fcil
8
Roger S. Pressman
9
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 22
de corregir en el software), el software no se desgasta, pero se deteriora (el cual se corrige con un
mejor diseo: implementacin)
Los costos del software se concentran la ingeniera, esto quiere decir que los proyectos de software
no se pueden manejar como si fueran proyectos de manufactura. El hardware tiene un nmero
considerablemente alto de posibles fallas al inicio de su vida til, se hace referencia a defectos de
diseo de fbrica (manufactura). Tambin con el tiempo causa fallas en el hardware la acumulacin
de polvo (falta de mantenimiento), la alta vibracin, el abuso del hombre sobre los diferentes
componentes, las temperaturas extremas y muchos otros factores que hacen parte del medio
ambiente. Se puede decir que el hardware comienza a desgastarse, o peor an a daarse.
El software es inmune a los males ambientales que desgastan al hardware. Los errores del software
se corrigen, o sea que se implementan, ms sin embargo se debe tener en cuenta la innovacin o
mejor permanente de los programa, ya que este si tiende a deteriorarse.
En muchos casos se confunden los trminos en cuanto a deterioro del software o problemas en el
desarrollo del software ya que este primero se puede deteriorar por las actualizaciones que se dan
permanentemente en el hardware o software, pero internamente el software no sufre problemas a
menos que sea por falla de hardware principalmente en el disco duro y la segunda parte si se puede
presentar con frecuencia debido a errores que no se detectaron en el momento de realizar las
pruebas o en muchos casos las dificultades que se presentaban en el desarrollo que se dejan para
corregir y luego esto se olvida.
Por eso es importante entender que lo que se busca con un software es solucionar los problemas
generando aplicaciones que tengan el menor error posible para que as la empresa pueda disminuir
la cantidad de tareas repetitivas que en muchas ocasiones se presentan y sus empleados hagan
buen uso del tiempo laboral.
Software de sistemas:
Coleccin de programas escritos para servir a otros programas. Ejemplo: los compiladores, editores
y utileras para la administracin de archivos, los cuales procesar estructuras de informacin
compleja pero determinada. Otras aplicaciones de sistemas como los componentes del sistema
operativo, controladores, software de red, procesadores para telecomunicaciones, procesan datos
indeterminados
.
Software de aplicacin:
Son programas independientes que resuelven una necesidad de negocios especfica. Ejemplo: el
procesamiento de transacciones en los puntos de venta.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 23
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 24
Software de inteligencia:
Utiliza algoritmos no numricos en la resolucin de problemas complejos que es imposible abordar
por medio de un anlisis directo. Incluye la robtica, el reconocimiento de patrones (imagen y voz),
los juegos de computadoras, entre otros10.
Es de suma importancia reconocer las distintas categoras de software que existen en el medio para
determinar en un momento determinado lo que la empresa tiene ya sea para la implementacin de
un sistema similar o la modificacin en caso de estar llevando una asesora a nivel general.
No cualquier categora de estas sirve para cualquier tipo de empresa sino que esto depende de su
razn social, de su misin y visin, por eso es recomendable realizar el levantamiento de
informacin necesaria para no seguir cometiendo los errores en los que muchos desarrolladores
han cado.
Software Heredado
Hace referencia al software o programas viejos, aquellos que utilizan tan solo algunas entidades
empresariales, gubernamentales o individuos. Estos fueron desarrollados hace dcadas y han sido
modificados en forma continua (mejorados o innovados) para cumplir los requerimientos de los
cambios en los negocios y en las plataformas de cmputos. Ejemplo: Unix, FoxPro, Dos, entre otros.
Aqu se puede hacer nfasis a los programas de computadora que hacen parte de los siete grandes
dominios de aplicacin que se relacion en el tema de la naturaleza cambiante del software.
Debe tenerse presente que todo sistema (el software es un sistema de informacin de cualquier
ndole) si desea preservarse debe adaptarse al medio o entorno que lo rodea. Una de las principales
caractersticas de los sistemas es la adaptabilidad y evolucin (crecimiento) constante.
Algunas veces el software heredado tiene diseos imposibles de extender, cdigos complicados,
documentacin escasa o inexistente, casos de prueba y resultados que nunca fueron archivados, un
historial de cambio manejado con pobreza, etctera. Sin embargo, este software es indispensable
para algunas entidades, por lo tanto, aunque el programa sea viejo, pero si presta su utilidad o
satisface las necesidades del usuario y funciona de manera confiable, se dice que el sistema no est
roto ni requiere arreglos.
Sin embargo, conforme pasa el tiempo la tecnologa evoluciona rpidamente, por lo tanto el
software debe adaptarse para satisfacer las necesidades de los nuevos ambientes o las nuevas
tecnologas de cmputos. El software debe mejorarse para una mejor implementacin de su
servicio, o sea redisearse.
10
Roger S, Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 25
Son los pasos predecibles que hay que realizar para crear el programa o cdigo que permitir la
satisfaccin de una de las necesidades del cliente desde el campo de la preservacin de la
informacin. Es decir, un mapa de carretera que ayude a crear un resultado de alta calidad y a
tiempo.
(Definirlo, construirlo y probarlo), es importante seguir los pasos porque ofrece estabilidad, control
y organizacin a una actividad que puede volverse catica si no se controla. Este enfoque debe ser
gil, debe requerir solo aquellas actividades, controles y documentaciones apropiados para el
equipo del proyecto y el producto que ha de producirse. Se est seguro de que se ha hecho
correctamente cuando se determina la madurez, la calidad, la viabilidad del producto que se
construye.
Defina con sus propia palabras que es un sistema y de por lo menos 4 ejemplos
Relacione algunos ejemplos (positivos o negativos) que indiquen el impacto que ha tenido el
software en la sociedad actual.
Que impacto ha generado el avance tecnolgico (involucrando software) en usted y por qu?
Defina con palabras propias lo que es para usted la ingeniera del software?
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 26
2.6. El proceso
La ingeniera del software la realizan personas creativas y con conocimiento que deben trabajar en
un proceso de software madurado que sea apropiado para el producto que construyen y para las
demandas de sus mercados.
11
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 27
Marco de trabajo
Un proceso define quien est haciendo qu, cundo y cmo lograr cierta meta. (Ivar Jacobson,
Grady Booch y James Rumbaugh)
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 28
Comunicacin: Implica una intensa colaboracin y comunicacin con los clientes, adems
abarca la investigacin de requisitos y otras actividades relacionadas que ayudaran a un
mejor entendimiento de lo que se desea como producto final.
Planeacin: establece un plan para el trabajo de la ingeniera del software. Describe las
tareas tcnicas que deben realizarse, los riesgos probables, los recursos que sern
requerido, los productos del trabajo que han de producirse y un programa de trabajo.
Construccin: esta actividad combina la generacin del cdigo (ya sea manual o
automatizado) y la realizacin de pruebas necesarias para descubrir errores en el cdigo.
Despliegue: el software se entrega al cliente parcialmente para que lo evale y a su vez para
que proporcione la informacin basada en su evolucin12..
12
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 29
Aunque es de entender que no todos los principios que se tienen se ajustan en su totalidad a los
problemas presentes para lo cual se debe investigar ms sobre el tema y as complementar estos
principios, no olvidando que se debe generalizar para que esas soluciones puedan servir para otras
empresas u organizaciones y as se puede disminuir el tiempo de entrega de las soluciones.
La visin sistmica debe estar presente en todos los proyectos que se estn elaborando ya que es el
cimiento sobre el cual gira todo. Es bueno indagar de forma general sobre cada uno de los niveles
para observar distintos puntos de vista y as tener un mejor enfoque en la solucin de problemas.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 30
Filosofa - Enfoque
ISO/IEC 15504/SPICE
Ing. de sistemas
Ing. de software
Ing. de requisitos
OO
UML
XMI
CMM y CMMI
IEEE
Ing. del software de sala limpia
Ing. del software basada en componentes
Reingeniera de software
Proceso
Modelo O. Genrico
Modelos O. prescriptivos
Modelos O. giles
Modelos O. web
Modelos de gestin
Mtodos
Herramientas
Diagramas de escenarios
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 31
Diagramas de flujo
Diagramas de clases
Diagramas de comportamiento
Etc.
Nivel 0: Incompleto: la gestin de requisitos no alcanza todas las metas y objetivos definidos
para avanzar al nivel 1.
Nivel 1: Realizado: Las tareas especficas para producir el producto han sido realizadas.
Nivel 2: Administrado: Todos los criterios del nivel 1 han sido satisfechos. Toda la gente que
ejecuta el trabajo tiene acceso a los recursos adecuados para realizar su labor, los clientes
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 32
estn implicados de manera activa, todas las tareas de trabajo y productos estn
monitoreados, controlados y revisados y son evaluados en apego a la descripcin del proceso.
Nivel 4: Administrado en forma cuantitativa: todos los criterios del nivel 3 han sido cumplidos,
adems, el rea del proceso se controla y mejora mediante mediciones y evaluacin
cuantitativa. Los objetivos cuantitativos para la calidad y el desempeo del proceso estn
establecidos y se utiliza como un criterio para administrar el proceso.
Nivel 5: Mejorado: Todos los criterios del nivel 4 han sido satisfecho. Adems, el rea del
proceso se adapta y mejora mediante el uso de medios cuantitativos (estadsticos) para
reconocer las necesidades cambiantes del cliente y mejorar de manera continua la eficacia del
rea del proceso que se est considerando13.
13
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 33
Se denomina premisa a cada una de las proposiciones de un razonamiento que dan lugar a la
consecuencia o conclusin de dicho razonamiento.
La generacin de nuevo hardware y de los diferentes mecanismos se realiza para el servir a las
pretensiones reprimidas de la ingeniera del software.
Las actividades sombrilla ocurren a lo largo de todo el proceso del software. Cree usted que
estas actividades se aplican de modo uniforme a travs del proceso o algunas estn
concentradas en una o ms actividades del marco de trabajo? (Justifique su respuesta)
Realice una sntesis (consultar en internet o libros) con respeto a la subdivisin que tiene
inmerso los mtodos.
Realice un ejemplo con cada uno de los niveles de capacidad de madurez ya sea desde el
campo administrativo, contable, financiero, entre otros.
La ingeniera de software es una disciplina que integra al proceso, los mtodos y las
herramientas para el desarrollo de software de computadora. Proponga un ejemplo
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 34
direccionado al campo organizacional en donde usted relacione estos elementos dentro de las
fases de los modelos prescriptivos de proceso.
Qu opina usted sobre el proceso de software personal.(PSP)
Qu opina usted sobre el proceso de software en equipo.(PSE)
Cree usted que el cambio es natural? Puede usted combatir el cambio? Si___, No_____. Por
qu?
(Relacinelo con la evolucin del software)
Es necesario trabajar duro para entender qu se debe hacer antes de comenzar. En ocasiones
no es posible desarrollar todos los detalles, pero entre ms se sepa, menor es el riesgo que se
corre de fracasar. Siempre que se piense que no hay tiempo para la ingeniera del software, se
debe considerar si habr tiempo para hacerlo todo de nuevo.
Realice un anlisis detallado y profundo de la relacin o sntesis que existe entre los siguientes
esquemas.
Plantear un ejemplo en donde se visualice a travs de un concepto totalmente abstracto, el
objetivo que cumple cada uno de estos elementos en la aplicabilidad de las fases de los
modelos prescriptivos de proceso.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 35
Prueba Final
3. Cul es el objetivo principal de los estndares y cules son los mas utilizados dentro del
desarrollo del software
4. Que entiende usted por la ley de las consecuencias imprevistas e indique varios ejemplos en
donde esto se ha presentado
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 36
9. Mediante un ejemplo a nivel empresarial explique los niveles de la integracin del modelo de
capacidad de madurez
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 37
Objetivo general
Dar a conocer la bondades que tiene la prctica de la ingeniera del software como una gua que
coadyuva a la solucin de las diversas problemticas que tienen las empresas en cuanto al control y
manejo de la informacin, aplicando diversos modelos que ilustren de una manera eficaz la forma
como deben orientarse para su permanencia en el medio.
Objetivos especficos
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 38
Prueba Inicial
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 39
Hace casi 500 aos, Maquiavelo dijo: No hay nada ms difcil que llevar a cabo, ms peligroso de
realizar o de xito ms incierto que encabezar la introduccin de un nuevo orden de cosas14"
En la actualidad estas palabras siguen vigentes, ya que cada vez que iniciamos una determinada
tarea siempre est inmersa en nuestro interior una pequea duda o incertidumbre que hace que las
cosas se presenten de diversas formas con el objetivo de distraer y as desconcentrar un poco la
atencin de la meta que desde el inicio se haba trazado.
No podemos olvidar que todo en la vida tiene dificultades y contratiempos que busca distraer la
mente del ser humano que pretende segn sus conocimientos dar solucin a las distintas
problemticas del mundo empresarial, del mundo que cada vez es ms exigente y que de acuerdo a
sus grandes avances nos llevan a un ritmo tan acelerado que no alcanzamos a discernir con claridad
lo que se tiene hoy cuando llega algo nuevo permitiendo esto olvidarnos del ayer y volver a
empezar.
Ante cualquier proyecto que nos enfrentemos en nuestro diario que hacer debemos comprenderlo
en su totalidad, porque stas seran la base para garantizar el xito y as buscar que el ciclo de vida
sea un poco mayor, por lo tanto, es parte fundamental entender el papel que cumplen las personas,
el hardware, el software las bases de datos y todos sus procesos para que de forma
interdependiente conformen el trabajo que se espera.
Importancia:
Se habla de un proverbio que dice: Los rboles no dejan ver el bosque, en este caso el bosque es
todo un sistema que tiene la capacidad de hacer algo y los rboles se refieren a todos sus
componentes o elementos que hacen parte de dicho sistema por ejemplo tenemos como bosque
todo un sistema de cmputo y como rboles todos sus dispositivos de entrada y salida como
pueden ser el teclado, el Mouse, el software, impresora, pantalla, etc.
14
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 40
existen una ramificaciones que se deben de entender y que hacen que ese sistema como tal puede
funcionar con un orden especfico.
Dentro de los sistemas basados en computadores se habla de macro elementos, que es tambin un
sistema basado en computadoras pero que hace parte de otro sistema mayor pero que se necesitan
que estos tengan una buena relacin para poder cumplir con el objeto social que tiene la empresa o
el objetivo planteado inicialmente.
Por ejemplo un computador esta programado para realizar ciertas tareas que van dirigidas hacia
otro dispositivo, pero este otro dispositivo lo conforman otros elementos o dispositivos que harn
que puede funcionar mediante las instrucciones del principal. Otro ejemplo puede ser las empresas
que tienen la mayor parte de sus procesos sistematizados en donde se hacen las entregas de tareas
por lotes y cada lote pasas a otro sistema que tiene la capacidad de transformar ese proceso hasta
que llega a su estado final.
Se analiza a nivel general el negocio o empresa para hacer la proyeccin respectiva y saber hasta
dnde se debe llegar con la solucin, ejemplo: se debe analizar la empresa entre las cuales se
observa la misin, la visin y las necesidades principales
Visin de dominio: Se analiza un dominio especfico para detectar las falencias y/o problemas que
se est presentando, por ejemplo si es a nivel de empresa se analizar cada departamento, si es a
nivel se software se observar cada una de las opciones de submen de una aplicacin.
Visin del elemento:
Se analiza el producto a construir o fundamento del negocio. El objetivo es determinar las posibles
falencias antes de su funcionamiento global.
Visin detallada: Anlisis genrico de todos los procedimientos que se estandarizan en el proyecto
o negocio, con el fin de estructurar su aplicacin.
Para alcanzar los objetivos y metas de una empresa debemos tener presente la arquitectura de
datos, de aplicacin y la infraestructura tecnolgica.
Arquitectura de datos: Se definen cules son las necesidades de la informacin del negocio o de una
parte de l, los cuales representan los atributos que sern utilizados en todo el proceso incluyendo
sus relaciones para saber cmo ser la comunicacin por ejemplo. Vendedor producto, un
vendedor expide productos x o producto x es expedido por un vendedor.
Arquitectura de aplicacin: Son aquellos que permiten transformar los datos en informacin y dar
resultados que ayuden a tomar decisiones.
Tambin se indica que tecnologa se utilizar, los medios de soporte y la forma en la que se entrega
el trabajo para garantizar su funcionalidad. Todos los requisitos que se necesita como parte del
producto siempre se obtienen del cliente y estos requisitos permiten el control de la informacin,
ayuda a observar la funcionalidad del producto, diseo e interfaces.
Luego de tener toda esta informacin bien organizada se puede pasar a realizar el conjunto de
actividades interdependientes para cada uno de los componentes del sistema. A medida que se va
desarrollando la aplicacin, se deben hacer las respectivas modificaciones de diseo, restricciones,
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 42
Como entiende usted la frase dicha por Maquiavelo: No hay nada ms difcil que llevar a cabo,
ms peligroso de realizar o de xito ms incierto que encabezar la introduccin de un nuevo
orden de cosas
Haga un sntesis con respecto proverbio que dice: Los rboles no dejan ver el bosque, y de
por lo menos tres ejemplos en donde se vea todo esto reflejado, distinto al computador.
No tengo idea de qu hora es. No hay ventanas en esta oficina, tampoco reloj, slo el LED
parpadeante en rojo de un horno de microondas, el cual parpadea 12:00,12:00, 12:00, 12:00. Joel y
yo hemos estado programando por das.
Tenemos un bicho, el necio demonio de un error. Por eso la pulsacin roja sin tiempo se siente
bien, como una lectura de nuestros cerebros, los cuales se han sincronizado de alguna manera a la
misma velocidad del parpadeo
En qu estamos trabajando? Los detalles se me escapan ahora. Podramos estar ayudando a gente
pobre y enferma o ajustando una serie de rutinas de bajo nivel para verificar bien en un protocolo
de una base de datos distribuida, no me importa. Me debera importar; en otra parte de mi ser ms
tarde, quiz cuando salgamos de este cuarto lleno de computadores- me importa ms por qu, para
quin y con qu propsito estoy escribiendo software. Pero ahora no.
He pasado a travs de una membrana donde el mundo real y sus usos ya no importan. Soy un
ingeniero de software.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 43
Cada vez que se desea construir software de alta calidad se debe tener claridad en cuanto a
principios, mtodos y herramientas y tener claridad en el cmo se hacen las cosas para lograr los
objetivos y satisfaccin del cliente.
En este trabajo se mostrar un mapa del camino para llegar al destino planteado, mostrando cuales
son los obstculos que se puedan presentar y saber cules son las soluciones posibles para llegar al
xito. Aqu se ensea el camino a seguir de manera segura y rpida, se indica cuando aumentar o
disminuir velocidad. Una de las partes fundamentales en el desarrollo de software es seleccionar el
mtodo apropiado para tener la certeza de que se ha entendido y que se har uso de las
herramientas apropiadas dentro de la sistematizacin para asegurar calidad de los productos que a
diario se puedan comercializar.
Las actividades a tener en cuenta dentro del marco de trabajo sern la comunicacin, planeacin,
modelado, construccin y despliegue; sobre estas actividades se debe trabajar arduamente con el
fin de que se logre un trabajo exitoso. En la esencia de la prctica para la resolucin de problemas se
debe tener presente lo siguiente. Entender el problema, planear la solucin, llevar a cabo el plan y
examinar el resultado para probar la precisin15
Dentro de los principios algunos se enfocan en la ingeniera como un todo y otros como una
actividad genrica del marco de trabajo.
1. La razn por lo que todo existe: Es muy importante hacer una serie de interrogantes como
se da valor agregado al sistema?, antes de iniciar un proyecto ya que a partir de ah se hace
un mejor enfoque de lo que se requiere en cualquier momento y se visiona para saber si
vale la pena continuar o abandonarlo.
2. Mantener lo simple. Desde lo simple se puede llegar a aquel trabajo con grado de dificultad,
pero el programador siempre debe tener en mente que l realiza un trabajo y que es para
otras personas que a veces se les dificultan hasta dar los primero pasos en el sistema, por lo
tanto lo simple, no quiere que el producto est malo o de poca calidad, es ah en donde la
calidad se debe reflejar con mayor seguridad.
15
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 44
5. y as lo convertir en otro usuario del cdigo y as el ciclo de vida del software se puede
extender un poco ms.
6. Estar abierto al futuro: El software siempre se debe estar proyectando a un buen tiempo y
se debe medir en meses y no en aos debido a los grandes cambios tecnolgicos e
implementacin de hardware, porque stos en el menor tiempo posible se vuelven
obsoletos y en algunos casos cuando no se proyecta a largo plazo el software ste tambin
se ve afectado, por eso se recomienda realizar un buen anlisis observando desde la
constitucin de la empresa e ir escudriando hasta el proceso final.
8. Pueden existir interrogantes con respecto a la reutilizacin ya que trabajar sobe algo que se
desconoce es un poco difcil, es por eso, que dentro de la programacin que se est
llevando a cabo siempre se documente todo el trabajo realizado ya sea para uno mismo
utilizarlo o para que otra persona pueda continuar o hacer uso de el sin ningn
inconveniente.
10. La idea principal de estos principios es que la persona se apropie de ellos y pueda eliminar
todas aquellas barreras que lo conllevan a la prdida de tiempo, dinero y hasta su propio
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 45
trabajo por no seguir paso a paso los lineamientos expuestos en este documento. Alguno de
estos pasos que no se tengan presentes en el desarrollo de problemas empresariales,
conllevar a fracaso del proyecto ya que lo ms importante es entenderle al cliente todas
las necesidades para luego plasmar esta informacin en una realidad16.
Prctica de la comunicacin
Una de las actividades ms importante con las que se enfrenta un ingeniero de software, es la
comunicacin efectiva en la que las partes intervienen para hallar una solucin a una problemtica
que se presenta permanentemente en las empresas y sobre la cual se har un anlisis previo para
encontrar las debilidades y fortalezas sobre las cuales se trabajan. Existen principios sobre los cuales
se debe basar para tener un buen xito.
3. Alguien debe facilitar la actividad: Se debe nombrar un lder o mediador que facilite la
conversacin entre las partes y que modere la reunin para que no se presentes discordias ni
dificultades entre las partes.
5. Tomar notas y documentar las decisiones: Las notas que se tomen en el momento de estar en
un dilogo con el cliente es fundamental ya que si se desean realizar cambios o aclaraciones
pues se remiten directamente a las notas para que no existan dificultades en ningn momento.
16
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 46
existentes y se hace una mejor proyeccin hacia lo que realmente se espera del trabajo que se
ha de iniciar en el menor tiempo posible.
7. Conservar el enfoque, examinar un mdulo a la vez: La idea principal de este punto es que el
mediador busque siempre redondear el tema que inici para que no halla ambigedad en
ninguno de los puntos a resolver.
8. Si algo no est claro, se hace un dibujo: Cuando se hace un esquema se da mayor claridad en lo
que realmente se quiere transmitir a un equipo o grupo de personas y se dar una mejor
orientacin para el logro del objetivo.
9. Una vez que se llegue o no a un acuerdo sobre algo o si no hay claridad, se debe continuar
hasta llegar a la meta final. En el qu hacer diario se presentan muchos inconvenientes a los
cuales se les debe hacer frente y para eso se debe tomar una actitud muy positiva y hallar los
puntos crticos para empezar a corregirlos poco a poco hasta encontrar la solucin.
10. La negociacin no es un concurso, esta funciona mejor cuando ambas partes ganan. Cuando se
tiene entre las partes una meta y unos objetivos en comn se pueden llegar a muchos acuerdos
en donde una parte no afecte la otra y se llegue a tener un trabajo acorde a las necesidades y el
ingeniero sienta satisfaccin en su proyecto terminado17.
Prctica de la planeacin
Aqu se definen metas y objetivos generales que ayuden a orientar al equipo de trabajo aunque en
el camino se tengan que hacer modificaciones, pues esto no afecta muy directamente el proceso
que se est siguiendo. Cuando no se hace una buena planeacin en cualquier proyecto que se
desee implementar, pues el caos no demora mucho para verse reflejado en el avance que
17
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 47
diariamente se est realizando y para ello se deben tener presente los principios bsicos para evitar
contratiempos.
1. Entender los alcances del proyecto: Lo ms importante de un proyecto que se desee desarrollar
es saber hasta dnde se quiere ir, es decir, saber el destino porque desde ah empezamos a
buscar los caminos que nos conducen a ese lugar
2. Involucrar al cliente en la actividad de planeacin: El cliente que sabe sus necesidades orientar
al ingeniero sobre lo que realmente necesita y luego entrara a negociar entre las partes las
fechas de entrega y dems asuntos del proyecto.
3. Reconocer que la planeacin es iterativa: Cuando se hacen las entregas respectivas de los
avances del software, es en este momento cuando inician los distintos cambios que se deben
aplicar a la solucin implementada, pues al procesar resultados se obtienen nuevas
necesidades o cambios a aplicar.
4. Estimar con base en el conocimiento disponible: Aqu en esta estimacin se da la idea con
respecto al esfuerzo, costo y tiempo de terminacin de las tareas, de acuerdo a los
conocimientos del equipo de trabajo.
5. Considerar el riesgo cuando se define el plan: En todo proyecto se debe prever el riesgo y se
debe tener el plan de contingencia adecuado para no retrasar el proyecto en el que se est
trabajando teniendo muy claro el cronograma de actividades que se plante desde el inicio.
6. Ser realista: En todo desarrollo o solucin de problemas el ser humano est expuesto a
cometer errores indirectamente y esto hace que el proyecto sufra pequeos retrasos por lo
tanto nunca se trabajar el tiempo completo como se establece en el cronograma, por lo tanto
debe ser prudente en la asignacin de estos tiempos.
7. Ajustar la granularidad mientras se define el plan: Se debe detallar con claridad todas y cada
una de las tareas y/o actividades a desarrollar dependiendo del tiempo en que se proyecte para
observar el grado de dificultad que presente teniendo en cuenta que las cosas van cambiando
permanentemente para lo cual el tiempo para su terminacin puede aumentar.
9. Describir como se pretende incluir el cambio: Los cambios que se pueden hacer durante la
ejecucin de un proyecto pueden ser muy complejos por lo tanto se debe analizar con claridad
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 48
10. Adaptar el plan a menudo y hacer los ajustes cuando stos se requieran: En la mayora de los
proyectos de software, estos van detrs del calendario establecido, es por eso que diariamente
se debe observar el plan inicial para que no se d tanta diferencia a la realidad.
Es recomendable que todos los participantes del equipo de trabajo participen activamente en la
planeacin porque de esa manera habr ms compromiso con el plan del proyecto.
En este punto se deber responder a las siguientes preguntas why, what, who, where, how.
Antes de iniciar todo proyecto se debe analizar muy bien lo que realmente se quiere, ya que
normalmente en las empresas desean que la persona como analista, diseador y/o programador
realice un sin nmero de trabajos casi que al mismo tiempo, pero lo ms importante es encontrar la
magnitud de lo que se requiere para delimitar e iniciar con trabajos especficos de acuerdo al orden
de prioridades que tenga la empresa.
Al iniciar la solucin se debe tener un plan o un cronograma de actividades que deben cumplirse
adecuadamente para alcanzar el objetivo esperado e ir llevando el control de cada paso que se
ejecuta para aumentar o disminuir el ritmo y no alterar los tiempo de entrega de la solucin.
Se debe tener tambin claridad mediante actas sobre cada reunin que se realice y los cambios
pertinentes para que no se presenten inconvenientes durante el proceso o en la entrega del
proyecto18.
18
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 49
Los modelos son la base fundamental para el trabajo que se va a realizar, por ejemplo para crear
una cermica lo primero que se debe tener es el molde para que se tenga total originalidad. En la
ingeniera de software se crean dos clases de modelos los cuales con el de anlisis y el de diseo.
Anlisis:
En este se debe tener presente el dominio de la informacin, el dominio funcional y el de
comportamiento.
Diseo: Muestran las caractersticas del software que sirven como base para la construccin.
Principios que se deben tener presente en esta prctica
Modelado de anlisis
1. El dominio de la informacin de un problema debe representarse y entenderse: Toda la
informacin que se manejar dentro de una organizacin o empresa se debe entender con
claridad para saber cmo va a ser la forma de comunicacin entre cada una de las reas o
departamentos y para definir la manera de ser almacenados.
2. Se deben definir las funciones que ejecuta el software: Cuando se tiene claridad en las
funciones que el software va a realizar ser de gran beneficio a los usuarios finales. En algunos
casos las funciones permiten control sobre el procesamiento interno o externo del software.
4. Los modelos que presentan informacin, funcin y comportamiento deben partirse de forma
que descubran el detalle de una manera estratificada (o jerrquica): El anlisis es el principal
paso para la solucin de problemas de ingeniera y si el problema es muy grande, este debe
dividirse en problemas ms pequeos hasta que se entienda uno por uno.
19
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 50
Modelado de diseo
1. El diseo debe ser rastreable hasta el modelo de anlisis: El modelo enuncia el dominio de la
informacin del problema, las funciones que el usuario puede visualizar, el comportamiento del
sistema y el conjunto de clases que empaquetan los objetos.
4. Las interfaces (internas y externas) deben disearse con cuidado: La forma como se manejan
los datos en un sistema reflejar la eficiencia de su proceso, evita errores y simplifica el diseo.
Una interfaz bien diseada ayuda a la realizacin de pruebas y validar sus funciones.
5. El diseo de interfaz del usuario debe ajustarse a las necesidades del usuario final. Lo ms
importante del diseo de la interfaz es la facilidad de uso para satisfaccin del usuario no
importando como est estructurado internamente evitando la percepcin que los usuarios le
pueden dar por su simplicidad en donde dicen que est mal hecho.
6. El diseo a nivel de componentes debe ser independiente del modo funcional. La funcionalidad
que se entrega debe centrarse en una funcin nicamente y terminada en su totalidad.
7. Los componentes deben estar apareados entre s en forma mnima y vinculada con el ambiente
externo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 51
8. La presentacin del diseo (modelos) deben ser fcilmente entendibles: Si el diseo no es fcil
de entender, es difcil que sirva como medio efectivo de comunicacin, la idea principal es
comunicar informacin a los que generan el cdigo, a los que probarn el software o a quienes
continen con el software en dl futuro.
9. El diseo debe desarrollarse de manera iterativa. En cada iteracin el diseador debe buscar la
mayor simplicidad. El diseo es algo iterativo en donde los primeros pasos sirven para refinar y
corregir errores pero que luego en los nuevos avances se busaca la simplicidad del diseo
procurando mostrar la mejor calidad posible que se da en el desarrollo de aplicaciones.
Tener presente que el cliente es el que exige como quiere ver la informacin pero muchas veces se
le debe hacer claridad no tanto por la visualizacin de un formulario sino la mejor manera del
plasmar la informacin para tener una buena trazabilidad de la misma y as permitirle ver sus
informes de distintas maneras pero que estos le ayuden a tomar las mejores decisiones dentro de
su empresa para alcanzar el xito esperado.
Prctica de la construccin
Comprende programacin y pruebas que hacen que el software satisfaga las necesidades que tiene
el cliente.
En las pruebas que se realizan se debe tener presente las de integracin que son las que se realizan
a medida que se construye el software, las de validacin que son las que evalan la satisfaccin de
los requisitos completamente y las de aceptacin que son las que realiza el cliente con el producto
final.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 52
Principio de preparacin:
Antes de iniciar la programacin se debe tener presente lo siguiente: Entender el problema, los
principios bsicos de diseo, el lenguaje de programacin con su ambiente de operacin y el
conjunto de pruebas de unidad.
Principio de codificacin:
Seleccionar la estructura de los datos para tener un mejor diseo, mantener en lo posible la lgica
simple, manejar ciclos anidados para hacer ms fcil la prueba, manejo de variables
adecuadamente, documentar el cdigo y el manejo de sangras en el cdigo.
Principio de validacin: Al terminar los pasos anteriores debe realizar:
Principios de prueba
Algunos desarrolladores segn su concepcin dicen que un desarrollo con xito es aquel en donde
no se encuentran errores. Las pruebas buscan encontrar diferentes tipos de errores.
1. Todas las pruebas deben ser rastreables hasta los requisitos del cliente: La pretensin principal
de este es encontrar errores.
2. Las pruebas se deben planear mucho antes de que comience el proceso de prueba: Tan pronto
el modelo de anlisis est terminado, se deben iniciar con los casos de prueba
3. El principio de Pareto es aplicable para las pruebas de software: El 80% de los errores
encontrados en el momento de la prueba, sern rastreables hasta el 20% de la aplicacin
completa
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 53
4. Las pruebas deben comenzar En los pequeo y progresar hacia lo grande: Las pruebas
siempre inicial con la parte ms sencilla y va avanzando a la medida que no existan errores y se
sigue progresando hasta terminar el software por completo.
Las pruebas que se le debe realizar al software no debe ser algo tan simple como para detectar
algunos errores sino que esta debe ser con gran profundidad para que la aplicacin no falle en el
momento de ser entregada o al tiempo de estar en ejecucin, por lo tanto es recomendable hacer
uso de algunos formatos que trabaja la empresas para implementar un manual pedaggico de tal
manera que est tan bien estructurado que al instalar el software los usuarios finales hagan uso de
este manual y puedan comparar completamente los resultados del sistema con la informacin
manual y as corroborar la calidad del software implementado20.
Despliegue
Depende del modelo que se seleccione se harn entregas (despliegue) por etapas para satisfacer las
necesidades del cliente y esto hace se encuentren errores que el programador no haba detectado.
Por cada etapa o avance que se entregue se debe proporcionar la documentacin necesaria y el
personal idneo para que de la capacitacin.
1. Se deben administrar las expectativas que el cliente tiene del software: El cliente siempre
espera mucho ms de lo que se haba pactado inicialmente y esto no es de agrado para el
equipo del proyecto. Sobre la administracin de expectativas, Noami Kartum establece:
El punto inicial para administrar las expectativas es volverse ms consciente acerca de lo que se
comunica y de la forma en que se hace. Es recomendable que un ingeniero no se debe
comprometer a entregar ms de lo que no puede en un tiempo determinado y debe ser cuidadoso
en entregar lo que se comprometi en el tiempo propuesto.
20
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 54
4. Se debe proporcionar material instructivo apropiado a los usuarios finales: Se debe realizar una
capacitacin apropiada e indicar pautas para la solucin de problemas que se presenten
durante la ejecucin del software.
5. El software con errores se debe arreglar primero y entregarse despus: En muchos casos
debido a la presin por el tiempo de entrega de software se hacen entregas por etapas de mala
calidad con la claridad que en la prxima versin se har la correccin necesaria, pero el cliente
al detectar errores, estos quedarn impresos y guardados en su mente y ms an cuando
causan grandes daos en la empresa.
No se puede pensar que al realizar el despliegue del software ya hemos terminado todo y que
podemos relajarnos porque tenemos la certeza de que todo funcionar bien, pues creo que este es
el momento en donde debemos estar con mayor disponibilidad y en alerta ya que al estar digitando
la informacin pueden ocurrir un sin nmero de errores que ocasionen gran prdida de informacin
la cual es fundamental para la ejecucin de las dems opciones programadas.
No se puede garantizar que al presentarse errores se puede recuperar por completo el proceso que
se estaba llevando a cabo ya que la informacin sigue siendo voltil y en cualquier momento se
pierde sin dejar evidencia alguna para hallarla y as ordenarla y llevarla al lugar correspondiente
acarreando grandes dificultades en el control de la informacin, prdida de dinero o en muchos
casas grandes sanciones por parte del estado.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 55
Aplicar cada una de las etapas del modelo de procesos con sus principios ms relevantes a un
problema ficticio ya sea administrativo, contable, financiero, entre otros.
Debido a los grandes cambios que se dan a diario argumentan que la ingeniera de requisitos es una
prdida de tiempo y que los usuarios finales entendern mejor su necesidad luego de ejecutar los
primeros avances. Si no entendemos con claridad lo que el cliente quiere y no documentamos todos
los requisitos recolectados durante el proceso de anlisis en combinacin con principios, mtodo y
herramientas con mayor seguridad el desarrollo de una solucin tiende a fallar en el menor tiempo
posible.
La ingeniera de requisitos se debe adaptar a las necesidades del proceso, proyecto, producto y
personas que integran el proyecto. En la solucin de problemas empresariales y luego de tener toda
la informacin organizada de acuerdo a las necesidades, se debe dar un orden de prioridad para ir
avanzando hasta terminar el trabajo y as lograr satisfacer al cliente en sus necesidades ms
apremiantes.
Inicio:
Las necesidades del control en el manejo de la informacin es la fuente principal para que un
proyecto comience su proceso de desarrollo, aunque existen otros modos en los que estos se
presentan, a veces por una pequeo conversacin con alguien se pueden generar proyectos no solo
desde el punto de vista de programacin sino desde la parte administrativa, comercial, de servicios,
entre otros.
Para el desarrollo de aplicaciones o problemas empresariales, el cliente debe tener muy buena
comunicacin con el programador ya que desde sta ptica se puede elaborar un trabajo acorde a
las distintas necesidades que se presentan en un sistema como el nuestro en donde cada das nos
exigen ms los grandes competidores y para poder estar y subsistir se debe cambiar.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 56
Obtencin:
Los usuarios o clientes no saben que es lo que realmente necesitan, cuales son los objetivos del
sistema o producto, como el sistema satisface las necesidades y como se utilizar la solucin ya que
es algo que no se define a simple vista sino que es a muy largo plazo. Existen tres puntos que
demuestran lo difcil que es la obtencin.
1. Problema de mbito: El cliente usuario no entrega los detalles adecuadamente y lo que hace es
distorsionar lo que requiere.
2. Problema de compresin: Los clientes usuarios nos saben la necesidad, desconocen en muchos
casos las bondades que ofrece un sistema de cmputo, no entregan por completo la
informacin bsica ya que creen que el ingeniero descubre lo que ellos necesitan o dan
informacin muy distante de la realidad.
Elaboracin:
Su enfoque principal la elaboracin de modelos que permitan indicar las funciones, las
caractersticas y restricciones de la aplicacin.
En esta elaboracin se har uso de escenarios de usuario que indica la forma en que interactan los
usuarios finales y el sistema, mostrando sus clases y relaciones mediante la variedad de diagramas
UML.
Negociacin:
En el campo de la solucin de problemas empresariales, es normal que los usuarios y clientes
siempre estn esperando ms de lo que se puede entregar.
Lo ms importante para tener una buena negociacin es que se tengan bien definidos y organizados
los requisitos y ms tarde se analizan el orden de prioridades con el que se debe trabajar. Se hacen
algunas estimaciones de esfuerzo y se estudia el costo con respecto a cada requisito analizado.
Especificacin:
En esta se debe manejar una plantilla estndar para garantizar la consistencia de los requisitos
recolectados y buscando la mayor facilidad para su entendimiento.
Es el resultado de un arduo trabajo de ingeniera de requisitos que sirve para la ejecucin del
concepto de ingeniera del software.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 57
Validacin:
En esta parte se analiza de toda la informacin extrada mediante la recoleccin de requisitos para
saber si existen falencias, omisiones, errores pero ya corregidos y si los estndares estn siendo
usados adecuadamente para el proceso, proyecto y producto.
Dentro de la validacin se cuenta con un equipo de trabajo completo como pueden ser ingenieros
de software, clientes, usuarios y dems personas que harn parte fundamental del proyecto y los
que encontraran las dificultades que se tengan en la informacin recolectada.
Gestin de requisitos:
Ayuda al equipo de proyecto a controlar, identificar, y rastrear los requisitos y las modificaciones
que se pueden presentar durante toda la etapa de desarrollo.
Inicio del proceso de la ingeniera de requisitos
Para tener una solucin exitosa se tendrn en cuenta algunos pasos necesarios dentro de la
ingeniera de requisitos.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 58
1. Identificar los interesados: Somerville y Sawyer define a los interesados como todos aquellos
que se benefician en una forma directo o indirecta del sistema que est en desarrollo. Dentro
de los integrantes pueden ser clientes internos y externos, consultores, usuarios finales,
gerentes de producto entre otros.
4. Formulacin de las primeras preguntas: Estas se enfocan a los clientes y otros interesados, pero
estas preguntas deben ser libres libres de contexto.
Obtencin de requisito
1. La reunin es dirigida por uno de los asistentes junto con los otros participantes
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 59
3. Se debe llevar una agenda para tener el control y cubrir todos los puntos a tratar.
5. Utilizar medios adecuados para entender la necesidad como pueden ser tablero electrnico,
foro virtual, etc.
Despliegue de la funcin de calidad (QFD): Este busca satisfacer la necesidad del cliente desde la
ingeniera del software y dentro de este despliego se deben identificar tres requisitos
fundamentales.
1. Requisitos normales: Muestran al cliente los objetivos que se plantean desde el inicio durante
las reuniones, es decir, se refiere a avances mediante prototipos que orienten e indiquen al
cliente hacia dnde va el trabajo como pueden ser grficos en pantalla con respecto a lo
analizado de la recoleccin de requisitos.
2. Requisitos esperados: Estos estn inmerso en el sistema o producto, pero su ausencia causara
insatisfaccin. Ejemplo de estos requisitos la facilidad de uso, confiabilidad y la instalacin de
la aplicacin.
3. Requisitos estimulantes: Es todo aquello adicional que da valor agregado al software pero que
no estaban planeados pero que satisfacen al cliente.
El QFD utiliza medios como entrevistas, observacin y revisin de la informacin histrica para tener
claridad en la recoleccin de los requisitos y luego toda esta informacin se transforma en una tabla
para su mejor interpretacin con el cliente.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 60
Dentro de los casos de uso se debe identificar el conjunto de actores los cuales se interpretan como
diferentes personas o dispositivos que utiliza el sistema o producto, es decir, muestra la manera
cmo opera el sistema.
Entre el usuario final y el caso de uso existen diferencias ya que un usuario puede desempear
varios papeles al usar la aplicacin en tanto que un actor identifica una entidad externa, pero no
siempre es una persona, que solo muestra el papel en caso de uso.
Ejemplo
Ejemplo, considrese al operador de una mquina (un usuario) que interacta con la computadora
de control para una clula de manufactura que contiene varios robots y mquinas de control
numrico. Despus de la revisin cuidadosa de los requisitos, el software para la computadora de
control requiere cuatro diferentes modos (actores) para su interaccin:
Jacobson sugiere varias preguntas que se deberan contestar mediante casos de uso.
Quin(es) es (son) el(los) los actor(es) primario(s)?
Cules son las metas del actor?
Cules son las condiciones previas que deben existir antes de comenzar la historia?
Cules son las tareas o funciones principales que realiza el actor?
Cules excepciones podran considerarse mientras se describe la historia?
cules son las variaciones posibles en la interaccin del actor?
Cul es la informacin del sistema que el actor adquirir, producir o cambiar?
El actor tendr que informar al sistema acerca de cambios en el medio ambiente externo?
Cun es la informacin que el actor desea del sistema?
El actor quiere ser informado acerca de cambios inesperados? 21
21
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 61
A medida que se van realizando bien las tareas de anlisis, esto facilita el diseo que ser la otra
etapa en la que se debe trabajar, pero el cliente no alcanza a entender por completo cuales son los
requisitos que el sistema necesita para satisfacer sus necesidades.
Dentro de este elemento se muestra las funciones resultantes respecto a los requisitos se
obtuvieron durante la etapa inicial con los clientes y usuarios.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 62
Negociacin de requisitos
El cliente y el usuario entran a negociar en la cual el principal objetivo sobre el cual se debe trabajar
es el ganar- ganar. En este caso se pide un balance del funcionamiento, rendimientos y otros
elementos importantes para comparar con el costo y tiempo para ser colocado en el mercado.
Los clientes ganan al alcanzar los objetivos del software y el equipo de software gana al proyectar
sus costos y tiempos que se pueden alcanzar.
Validacin de requisitos
Al tener los requisitos fundamentales para el modelo de anlisis, se debe analizar para que no tenga
inconvenientes que obstaculicen las dems tareas o actividades que se deseen implementar. Para
analizar el modelo de anlisis se deben tener presente las siguientes preguntas:
Todos los requisitos han sido especificados con el grado apropiado de abstraccin? Esto es
algunos requisitos proporcionan un grado de detalle tcnico que sea inapropiado en esta
etapa?
Cada requisito se puede probar una vez que ste haya sido implementado?
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 63
Cree usted que al aplicar el concepto sobre inicio del proceso de la ingeniera de requisitos,
ayudar de forma directa a solucionar los problemas que las empresas tienen en el control y
manejo de informacin?, justifique su respuesta
Cree usted que al aplicar el concepto de casos de uso es suficiente para que el cliente
comprenda claramente la problemtica que se va a solucionar?, justifique su respuesta.
Prueba Final
22
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 64
3. Simule la realidad de llevar a cabo el desarrollo de un proyecto y tome tres o cuatro de los
putos ms relevantes de la prctica de la ingeniera del software, y aplique estos conceptos.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 65
Objetivo general
Aplicar conceptos claros del software mediante el uso de herramientas que faciliten la manera del
desarrollo de aplicaciones que satisfagan las necesidades del cliente al menor costo y en el menor
tiempo posible.
Prueba Inicial
1. un componente es:
a. La recopilacin de la informacin necesaria.
b. Un conjunto de clases que colaboran entre si.
c. Explorar y definir cada clase.
d. Una interfaz de usuario.
e. Todas las anteriores.
f. Ninguna de las anteriores.
2. Un atributo es:
a. Un objeto intangible.
b. Un conjunto de datos y operaciones sistmicas.
c. coleccin de valores de los datos que describen una clase.
d. Una rama de la ingeniera del software.
e. Todas las anteriores.
f. Ninguna de las anteriores.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 66
4. Un objeto es:
a. Instancias de una clase especfica.
b. Una clase de una descripcin generalizada.
c. Coleccin de objetos similares.
d. Un encapsulamiento general de procesos.
e. Todas las anteriores.
f. Ninguna de las anteriores.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 67
Cada clase de un componente se ha elaborado completamente para incluir todos los atributos y las
operaciones relevantes para su implementacin. Como parte de la elaboracin del diseo, tambin
deben definirte todas las interfaces (mensajes) que permiten que las clases se comuniquen y
colaboren con otras clases de diseo.
Para lograrlo el diseador empieza con el modelo de anlisis y elabora clases de anlisis (en el caso
de componentes que se relacionan con el dominio del problema) y clases de infraestructura
(componentes que proporcionan servicio de soporte para el dominio del problema).
Atributo: una coleccin de valores de los datos que describen una clase.
Clase: encapsula los datos y las abstracciones de procedimiento requeridos para describir el
contenido y el comportamiento de alguna entidad del mundo real. Una clase es una descripcin
generalizada (por ejemplo, una plantilla, un patrn o un plano de trabajo) que describe una
coleccin de objetos similares.
Objetos:
Instancias de una clase especfica. Los objetos heredan los atributos y operaciones de una clase.
Subclase:
Una especializacin de la superclase. Una subclase puede heredar tanto los atributos como las
operaciones de una superclase.
Superclase:
Tambin llamada una clase bsica, es una generalizacin de un conjunto de clases que estn
relacionadas con ella.
Un objeto sin datos (que sera lo mismo que una biblioteca de funciones)
Un objeto sin operaciones, con slo operaciones del tipo crear, recuperar, actualizar y borrar (que
se correspondera con las estructuras de datos tradicionales)
Un sistema construido con objetos degenerados no es un sistema verdaderamente orientado a
objetos
En UML, un objeto se representa por un rectngulo con un nombre subrayado
Grfico # 10
(Elaborado por los Autores)
4.1.2. UML23
23
http://www.clickear.com/manuales/uml consultado el 18-11-2011
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 69
Diversos mtodos y tcnicas OO, con muchos aspectos en comn pero utilizando distintas
notaciones
Inconvenientes para el aprendizaje, aplicacin, construccin y uso de herramientas, etc. Pugna
entre distintos enfoques (y correspondientes gurs)
Los modelos de UML que se tratan en esta parte son los siguientes:
Comenz como el Mtodo Unificado, con la participacin de Grady Booch y Jim Rumbaugh.
Se present en el OOPSLA95
El mismo ao se uni Ivar Jacobson. Los Tres Amigos son socios en la compaa Rational
Software. Herramienta CASE Rational Rose
PERSPECTIVAS UML
Evidencias:
Herramientas que proveen la notacin UML
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 70
PAQUETES UML
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 71
En Ulm se puede plasmar paso a paso todos los procesos que se desean implementar en la solucin
de un problema empresarial ya sea desde la parte administrativa o desde el desarrollo de
aplicaciones, pero en ningn momento le va a solucionar problemas como por ejemplo de
programacin o de la lgica sino que esta se debe aplicar la primera en un lenguaje de
programacin y la segunda en esta aplicacin u otra que se tenga disponible para su interpretacin
y saber as como va a ser en flujo de informacin en la que se va a trabajar durante todo el
desarrollo del proyecto.
Todo proceso que se desee llevar a cabo tendr sus inconvenientes porque desde el punto de vista
del cliente y/o del usuario y/o programador, se pueden encontrar dificultades de retrasen un poco
lo que se est llevando a cabo, es por eso que Maquiavelo hace referencia a que es difcil llevar a
cabo una serie de proyectos y hacer que estos funcionen con la mayor claridad posible, porque en
algunos momentos las dificultades se presentan o el desnimo para seguir adelante con los
proyectos.
XMLXML es una tecnologa en realidad muy sencilla que tiene a su alrededor otras tecnologas que
la complementan y la hacen mucho ms grande y con unas posibilidades mucho mayores. Es decir,
al lenguaje as como a las tecnologas que trabajan con l, sus usos, ventajas y modos de llevar a
cabo las tareas.
XML, con todas las tecnologas relacionadas, representa una manera distinta de hacer las cosas, ms
avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 72
todos los niveles, por todas las aplicaciones y soportes. As pues, el XML juega un papel
importantsimo en este mundo actual, que tiende a la globalizacin y la compatibilidad entre los
sistemas, ya que es la tecnologa que permitir compartir la informacin de una manera segura,
fiable, fcil. Adems, XML permite al programador y los soportes dedicar sus esfuerzos a las tareas
importantes cuando trabaja con los datos, ya que algunas tareas tediosas como la validacin de
estos o el recorrido de las estructuras corre a cargo del lenguaje y est especificado por el estndar,
de modo que el programador no tiene que preocuparse por ello.
Vemos que XML no est slo, sino que hay un mundo de tecnologas alrededor de l, de
posibilidades, maneras ms fciles e interesantes de trabajar con los datos y, en definitiva, un
avance a la hora de tratar la informacin, que es en realidad el objetivo de la informtica en general.
XML, o mejor dicho, el mundo XML no es un lenguaje, sino varios lenguajes, no es una sintaxis, sino
varias y no es una manera totalmente nueva de trabajar, sino una manera ms refinada que
permitir que todas las anteriores se puedan comunicar entre s sin problemas, ya que los datos
cobran sentido.
Para los que conozcan tambin el lenguaje HTML, que espero que seis muchos, he compilado aqu
una serie de diferencias entre HTML y XML que
El HTML se preocupa por formatear datos y para ello son las etiquetas que tiene el lenguaje, para
formatear la informacin que se desea mostrar.
El XML se preocupa por estructurar la informacin que pretende almacenar. La estructura la marca
la lgica propia de la informacin.
El desarrollo del HTML estuvo marcado la competencia entre los distintos visores del mercado. Cada
uno quera ser el mejor e inventaba etiquetas nuevas que a la larga entraban a formar parte del
estndar del W3C, como la etiqueta <FRAME>.
El desarrollo del XML est siendo llevado a cabo con rigor, siempre ajustado a lo que marca el
estndar que desarrolla el W3C, entidad que est desarrollando el XML con ms diligencia que las
empresas con intereses particulares. Procesar la informacin en HTML es inviable, por estar
mezclada con los estilos y las etiquetas que formatean la informacin.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 73
En XML se puede procesar la informacin con mucha facilidad, porque todo est ordenado de una
manera lgica, as mismo el formateo de la informacin para que se pueda entender bien por el
usuario es viable a travs de un pequeo procesamiento, a travs de hojas de estilos o similares24
Que fuera idntico a la hora de servir, recibir y procesar la informacin que el HTML, para
aprovechar toda la tecnologa implantada para este ltimo.
Que fuera formal y conciso desde el punto de vista de los datos y la manera de guardarlos.
Que fuera extensible, para que lo puedan utilizar en todos los campos del conocimiento.
Que fuese fcil de leer y editar.
Que fuese fcil de implantar, programar y aplicar a los distintos sistemas.
El XML se puede usar para infinidad de trabajos y aporta muchas ventajas en amplios escenarios.
Veamos algunas ventajas del XML en algunos campos prcticos.
Migracin de datos. Si tenemos que mover los datos de una base de datos a otra sera muy
sencillo si las dos trabajasen en formato XML.
Aplicaciones web. Hasta ahora cada navegador interpreta la informacin a su manera y los
programadores del web tenemos que hacer unas cosas u otras en funcin del navegador del
usuario. Con XML tenemos una sola aplicacin que maneja los datos y para cada navegador o
soporte podremos tener una hoja de estilo o similar para aplicarle el estilo adecuado. Si
maana nuestra aplicacin debe correr en WAP solo tenemos que crear una nueva hoja de
estilo o similar.
Son slo unos ejemplos que esperamos que comprendas aunque sea por encima ya que todava hay
muchas cosas que no sabes sobre XML y las tecnologas relacionadas.
24
http://es.wikipedia.org/wiki/XML consultado el 10-05-2011
www.w3c.es/divulgacion/guiasbreves/tecnologiasXML consultado el 10-05-2011
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 74
Capability Maturity Model Integration. Modelo para la mejora o evaluacin de los procesos de
desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por el Instituto de
Ingeniera del Software de la Universidad Carnegie Mellon (SEI), y publicado en su primera versin
en enero de 2002. CMMI se desarroll para facilitar y simplificar la adopcin de varios modelos de
forma simultnea, y su contenido integra y da relevo a la evolucin de sus predecesores:
CMM-SW (CMM for Software), SE-CMM (Systems Engineering Capability Maturity Model),
IPD-CMM (Integrated Product Development)
El modelo para software (CMM-SW) establece 5 niveles de madurez para clasificar a las
organizaciones, en funcin de qu reas de procesos consiguen sus objetivos y se gestionan con
principios de ingeniera. Es lo que se denomina un modelo escalonado, o centrado en la madurez de
la organizacin.
El modelo para ingeniera de sistemas (SE-CMM) establece 6 niveles posibles de capacidad para una
de las 18 reas de proceso implicadas en la ingeniera de sistemas. No agrupa los procesos en 5
tramos para definir el nivel de madurez de la organizacin, sino que directamente analiza la
capacidad de cada proceso por separado. Es lo que se denomina un modelo continuo.
Vistas desde la representacin continua del modelo, se agrupan en 4 categoras segn su finalidad:
Gestin de proyectos, Ingeniera, Gestin de procesos y Soporte a las otras categoras. Vistas desde
la representacin escalonada, se clasifican en los 5 niveles de madurez. Al nivel de madurez 2
pertenecen las reas de proceso cuyos objetivos debe lograr la organizacin para alcanzarlo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 75
Crtica
Frecuentemente se critica al modelo CMM por no ser ms especfico en la definicin de los
procesos. Para guiar a las organizaciones a definir y mejorar sus procesos indica qu actividades han
de realizar, pero nada sobre cmo hacerlo. Esto es as tanto en lo referente a la ingeniera como a
las herramientas o tcnicas de gestin, aunque hace una curiosa excepcin en las revisiones por
pares (peer reviews).
Del mismo modo, aunque insiste continuamente en la necesidad de las mtricas, no da ninguna gua
concreta del tipo de mtricas que son aceptables para una correcta prctica profesional.
Los tcnicos se quejan a menudo de la enorme carga de "papeleo" que impone el modelo, vindolo
ms como un mecanismo de control por la direccin que una herramienta que les ayude en su
trabajo.
Tambin resulta muy complejo, ms todava el CMMI, lo que hace que durante algn tiempo resulte
para mucha gente algo esotrico.
Sntesis de los modelos de procesos CMM y CMMI para desarrollo y mantenimiento de software.
CMMI (y previamente CMM) puede emplearse con dos finalidades:
1. Gua para mejorar los procesos que intervienen en el desarrollo y mantenimiento del software.
2. Criterio para determinar el nivel de madurez de una organizacin que desarrolla o mantiene
software en base a la capacidad de las reas de procesos definidas en estos modelos.
Madurez
Atributo de las organizaciones que desarrollan o mantienen los sistemas de software.
En la medida que stas llevan a cabo su trabajo siguiendo procesos, y en la que stos se encuentran
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 76
Homogneamente implantados, definidos con mayor o menor rigor; conocidos y ejecutados por
todos los equipos de la empresa; y medidos y mejorados de forma constante, las organizaciones
sern ms o menos maduras.
Los modelos CMMI ayudan a orientar al desarrollador a la forma como debe llevar a cada la solucin
de un proyecto empresarial, proyectndolo a que la solucin est enfocada directamente con la
estandarizacin de todos sus procesos para que esta solucin puede servir para otras dificultades de
otras empresas.
Que es la programacin orientada a objetos y cules son sus elementos principales que lo
componen
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 77
Prueba Final
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 78
5. ESTNDARES Y METODOLOGA
Objetivo general
Analizar los aportes realizados a la Ingeniera del Software por medio de los estndares de la
IEEE
Comprender la metodologa propuesta por la Ingeniera del Software de sala limpia, para los
sistemas basados en componentes
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 79
Prueba Inicial
1. Reingeniera es:
a. La reconstruccin de un producto.
b. Crear un producto con una mejor funcionalidad, desempeo y fiabilidad, as como una
mejor facilidad de mantenimiento.
c. La bsqueda de una mayor facilidad de mantenimiento.
d. Ninguna de las anteriores.
e. Todas las anteriores.
2. Reestructuracin:
a. Es la modificacin del cdigo fuente o los datos con la finalidad de adecuarlos para futuros
cambios.
b. Ocurre cuando la arquitectura bsica de una aplicacin es slida, aun cuando el interior
tcnico necesite trabajarse.
c. Se inicia cuando grandes partes del software son funcionales y slo un subconjunto de los
componentes y datos necesitan una modificacin extensa.
d. Todas las anteriores.
e. Ninguna de las anteriores.
g. d, c y a, son correctas.
h. Todas las anteriores.
i. Ninguna de las anteriores
La sala limpia destaca las pruebas que ejercitan la forma en que el software es realmente utilizado.
Los casos de uso ofrecen una introduccin al proceso de planeacin de pruebas. Las ms
importantes caractersticas de la sala limpia son la prueba de la correccin y las pruebas estadsticas
de utilizacin.
Este enfoque es eficaz en cuanto a costo y tiempo para establecer un enfoque de fabricacin que
evite la introduccin de defectos de produccin. Ms que fabricar un producto y luego trabajar
para eliminar los defectos, el enfoque de sala limpia demanda la disciplina requerida para eliminar
los errores en la especificacin y el diseo y luego fabricarlo en una forma limpia.
El enfoque de sala limpia utiliza una versin especializada del modelo de proceso incremental.
Mediante pequeos equipos de software independientes se desarrolla una lnea de incrementos
de software. Conforme cada incremento se certifica se integra en el todo. Por ende, la
funcionalidad del sistema crece con el tiempo.
Las principales tareas llevadas a cabo como parte de la ingeniera del software de sala limpia son:
Planificacin del incremento: se crea un plan de desarrollo de sala limpia, donde se crea la
funcionalidad de cada incremento.
Recopilacin de requisitos.
Especificacin de la estructura de cajas: ajustarse a los principios de anlisis operativos. Se
utiliza un mtodo de especificacin que emplea estructuras de cajas, para describir la
especificacin funcional.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 81
Verificacin de la correccin.
Generacin de cdigo, inspeccin y verificacin.
Planificacin de pruebas estadsticas.
Certificacin.
La nica forma de que en un programa ocurran los errores es que un autor los coloque ah. No se
conocen otros mecanismos. La prctica correcta busca evitar la insercin de errores y, cuando se
falla al respecto, eliminarlos antes de probarlo o cualquiera otra forma de ejecutar el programa.
La sala limpia representa el primer intento prctico de someter el proceso de desarrollo de software
al control estadstico de la calidad con una estrategia bien definida para la mejora continua de los
procesos. Con el fin de alcanzar esta meta se defini un ciclo de vida nico de sala limpia, el cual se
enfoca en la ingeniera del software basada en matemticas para corregir diseos de software y en
la prueba de software basada en estadsticas para la certificacin de la fiabilidad del software.
Esta ingeniera de software de sala limpia implementa tcnicas de prueba con una alta probabilidad
de descubrir errores de alto impacto, adems de verificar las especificaciones del diseo utilizando
una prueba de correccin basada matemticamente. Obviamente, el enfoque de sala limpia aplica
la mayora, si no todos, los principios y conceptos bsicos de la ingeniera del software.
Los bueno anlisis y procedimientos de diseo son esenciales si se quiere obtener alta calidad.
En la ingeniera de sala limpia se realizan pruebas basadas en la estadstica. Aqu la prueba unitaria y
la depuracin se sustituyen verificando la correccin y las pruebas basadas en estadstica.
Esto es: el contenido de informacin de cada especificacin de caja es suficiente para definir su
refinamiento, sin depender de la implementacin de alguna otra caja. Esto le permite al analista
partir un sistema jerrquicamente, moverse desde la representacin esencial en la parte superior
hacia un detalle especfico de la implementacin en el fondo25.
25
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 82
Caja de estado: encapsula los datos de estado y servicio en una forma anloga a los objetos
(estmulos respuestas)
Caja transparente: contiene el diseo de procedimiento para la caja de estado.
Probar que un diseo es correcto requiere primero, identificar todas las condiciones y luego probar
que cada una toma el valor booleano adecuado. A estas condiciones se les llama subpruebas.
La prueba estadstica equivale a probar el software en la forma que los usuarios intentaran
usarlo. Esto se logra si los equipos de prueba de sala limpia (tambin llamados equipos de
certificacin) determinan una distribucin de probabilidad de uso para el software. La
especificacin (caja negra) de cada incremento del software se analiza para definir un conjunto
de estmulos (entradas o eventos) que provocan el cambio de comportamiento del software. Con
base en entrevistas con usuarios potenciales, la creacin de escenarios de uso y una
comprensin general del dominio de la aplicacin, se asigna una probabilidad de uso a cada
estmulo.
Modelo de certificacin (se refiere a la fiabilidad global del sistema). Proyectado y certificado.
Aplicar la ingeniera del software de sala limpia no es un tema tan sencillo de llevar a cabo, aqu se
debe tener gran cuidado con cada una de las lneas analizadas y probadas para que el sistema
cumpla con las expectativas esperadas por parte del usuario final, no solo es observar todo lo que
tiene que ver con la caja negra que se refiere a todo lo que es la presentacin de sus formularios de
entrada e informes de salida, sino que va un poco ms all de lo que alcanzamos a imaginar o
descifrar de estos trminos.
La revisin concreta de cada una de las lneas de cdigo es una parte fundamental dentro de la
ingeniera de sala limpia ya que en muchas ocasiones deseamos realizar una tarea especfica y lo
que se hace es girar muchas veces sobre el mismo proceso para mostrar el mnimo resultado
esperado, es por eso, que se debe tener una lgica bien estructurada para hacer de las cosas
difciles algo fcil para satisfacer las necesidades del cliente y disminuir al mximo las lneas de
cdigo que hacen que el software ocupe mayor espacio.
1. Haga una sntesis con resto a la aplicacin de sala limpia dentro del desarrollo de software
2. Si se aplica el concepto de sala limpia claramente dentro del desarrollo de software, puedo
garantizar que los procedimientos aplicados, los ciclos y las decisiones serian eficientes para
garantizar la calidad?, justifique
3. Cul es la diferencia entre caja blanca y caja negra, indique mediante un ejemplo esta
diferencia
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 84
En el contexto de la ingeniera del software la reutilizacin es una idea tanto antigua como nueva.
Los programadores han reutilizado ideas, abstracciones y procesos desde los primeros das de la
computacin, pero el enfoque original para la reutilizacin era especfico. En la actualidad, los
complejos sistemas de alta calidad basados en computadoras se deben construir en un tiempo muy
corto y demanda un enfoque ms organizado de la reutilizacin.
La ISBC abarca dos actividades de ingenieras paralelas: La ingeniera de dominio: la cual explora un
dominio de aplicacin con la intencin especfica de encontrar componentes funcionales, de
comportamientos y de datos que sean candidatos para la reutilizacin. Dichos componentes son
colocados en libreras de reutilizacin.
Califica los componentes para asegurarse que encajan adecuadamente en la arquitectura para
el sistema.
Integra los componentes para formar subsistemas y la aplicacin cono un todo. Adems, algunos
componentes personalizados son sometidos a ingeniera para enfrentar aquellos aspectos del
sistema que no pueden ser implementados con el uso de los componentes existentes. El resultado
de la ISBC es un software operativo, ensamblado con el uso de componentes de software existente
y desarrollado recientemente.
Esta ingeniera parece bastante similar a la ingeniera del software orientado a objetos
convencional. El proceso comienza cuando un equipo de software establece requisitos para el
sistema que construir mediante tcnicas convencionales de investigacin de requisitos. Se
establece un diseo arquitectnico, pero en lugar de dirigirse inmediatamente hacia tareas de
diseo ms detalladas, el equipo examina los requisitos para determinar qu subconjunto est
directamente dispuesto para la composicin, y no para la construccin.
Se plantean las siguientes preguntas: Hay componentes comerciales de lnea disponibles para
implementar los requisitos?
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 85
Las interfaces para los componentes disponibles son compatibles dentro de la arquitectura del
sistema que se construir.
Se caracteriza de tal forma que no slo identifica los componentes candidatos sino que tambin
cualifica la interfaz de cada componente, adapta los componentes para eliminar las equivocaciones
arquitectnicas, ensambla los componentes en un estilo arquitectnico seleccionado y actualiza los
componentes conforme los requisitos del sistema cambian.
El modelo de proceso para la ingeniera de software basada en componentes destaca las pistas
paralelas en las cuales la ingeniera del dominio se lleva a cabo concurrentemente con el desarrollo
basado en componentes. Los pasos de anlisis y diseo arquitectnico definidos en el contexto de
un paradigma de diseo abstracto (ADP) implica que el modelo global del software representado
como datos, funciones y comportamientos (control) , se puede descomponer jerrquicamente.
Conforme la descomposicin comienza, el sistema se representa como una coleccin de marcos de
trabajo arquitectnico, cada uno compuesto de uno o ms patrones de diseo.
Ingeniera de dominio
Esta ingeniera trata de encontrar los aspectos comunes entre los sistemas para identificar los
componentes que sea posible aplicar en muchos sistemas (compatibilidad entre los componentes),
y para identificar familias de programas que se posicionen para sacar la mayor ventaja de dichos
componentes. (Paul Clementes)
Se puede argumentar que la reutilizacin desaparecer, no por eliminacin, sino por integracin en
la estructura de la prctica de la ingeniera del software. Como la reutilizacin cada vez tiene mayor
auge algunos creen que la ingeniera del dominio adquirir tanta importancia como la ingeniera del
software durante la dcada siguiente.
26
Roger S. Pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 86
Es importante advertir que el anlisis del dominio es aplicable a cualquier paradigma de ingeniera
del software, y que se puede aplicar al desarrollo convencional y al orientado a objetos.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 87
Almacenamiento estructurado. Los datos heterogneos (datos grficos, voz, video, texto y
datos numricos) que contiene un documento compuesto, deben estar organizados y ofrecer
acceso como una sola estructura de datos y no como una coleccin de archivos separados. Los
datos estructurados conservan un ndice descriptivo de estructuras anidadas por las cuales las
aplicaciones pueden navegar libremente para ubicar, crear o editar contenidos de datos
individuales segn ordene el usuario final.
Tendencias actuales que permitirn a los futuros ingenieros de software navegar entre bibliotecas
de reutilizacin.
Para que sean tiles en la prctica, concepto, contenido y contexto se deben traducir en un
esquema de especificacin concreto.
Economa ISBC
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 88
La ingeniera del software basada en componentes tiene un atractivo intuitivo. En teora, debe
proporcionar a una organizacin de software con ventajas en cuanto a calidad y oportunidad, lo que
debe traducirse en ahorros.
Productividad: cuando los componentes reutilizables se aplican a lo largo del proceso del software,
se dedica menos tiempo a la creacin de planes, modelos, documentos, cdigo y daos que se
requieren para crear un sistema fiable. Por lo tanto, se entrega al cliente el mismo nivel de
funcionalidad con menos esfuerzo, lo que mejora la productividad. Aunque los reportes de mejora
porcentual en la productividad son notablemente difciles de interpretar, parece que la reutilizacin
del 30 al 50 por ciento puede resultar en mejoras en la productividad en el rango del 25-40 por
ciento.
Costo: los ahorros en el costo neto por la reutilizacin se estiman al proyectar el costo del proyecto
si ste fuese desarrollado desde cero, y luego se resta la suma de los costos asociados con la
reutilizacin y el costo real del software en los momentos de la entrega. El costo desarrollar un
componente reutilizable con frecuencia es mayor que el de desarrollar un componente especfico
para una aplicacin.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 89
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 90
5.5. Reingeniera
Cada proceso de negocio tiene un cliente definido: una persona o grupo que recibe el resultado
(una idea, un informe, un diseo, un producto). Adems, los procesos de negocios traspasan las
fronteras de la organizacin. Esto requiere que diferentes grupos de organizaciones participen en
las tareas lgicamente relacionadas que definen el proceso. La RPN se puede aplicar en cualquier
nivel de la jerarqua, pero conforme se ampla su mbito los riesgos asociados con ello crecen
sustancialmente. Por esta razn, la mayora de los esfuerzos de la RPN se enfoca en procesos
individuales o subprocesos.
Identificacin del proceso: se identifican los procesos de mayor prioridad y luego se clasifica para
aplicar la actividad de la reingeniera.
Evaluacin del proceso: Se identifican las tareas del proceso, costo y tiempo que consumen las
tareas del proceso.
Especificacin y diseo del proceso: se preparan casos de uso y luego se disea un conjunto de
tareas para el proceso
Elaboracin de prototipos: un proceso de negocio debe ser llevado primero a un prototipo antes de
integrarse por completo.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 91
Refinamiento y particularizacin: Luego de una retroalimentacin del proceso este se refina y luego
se particulariza en un sistema de negocio27.
El objetivo de las herramientas del RPN es apoyar el anlisis y la evaluacin de los procesos de
negociacin existentes y la especificacin y el diseo de unos nuevos.
La mecnica de las herramientas vara. En general, las herramientas de la RPN permiten que un
analista de negocios modele los procesos de negocio existentes en un esfuerzo destinado a evaluar
las ineficiencias del flujo de trabajo o problemas funcionales.
Una vez que se identifican los problemas existentes las herramientas permiten que los analistas
elaboren prototipos o simulen procesos de negocio revisados.
27 Roger y S. pressman
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 92
Otra razn respecto del problema del mantenimiento del software es la movilidad del personal. Es
posible que el equipo o persona que realiz el software ya no est. En la actualidad pueda que no
haya nadie que tenga algn conocimiento directo del sistema heredado.
Cuando se desea aplicar la reingeniera dentro de una empresa se debe observar muy bien lo que se
va a hacer ya que no se puede decidir a simple vista la aplicacin de este trmino que puede costar
no solo tiempo sino una gran suma de dinero, adicionalmente puede generar inconvenientes entre
las mismas personas que laboran dentro de ella debido a los cambios que esto generara y al
malestar que ocasiona sino se incluye un buen tema de concientizacin para la aceptacin y el
normal funcionamiento de la nueva implementacin.
Grado de abstraccin.
Integridad
Direccionamiento.
La aplicacin de ingeniera inversa es un tema muy interesante ya que aqu se extrae de lo abstracto
la informacin para convertirla en una aplicacin real aunque es de gran cuidado porque el objetivo
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 93
principal de la aplicacin de ella es realizar un programa con gran similitud a otro con respecto a la
informacin que se interpreta incluyendo las mejoras que debe tener para su implementacin.
Una de las cosas fundamentales dentro de la ingeniera inversa es tener claridad en el grado de
abstraccin, la integridad y el direccionamiento porque de esto depende la efectividad en el buen
funcionamiento de la aplicacin resultante, teniendo presente que en algunos casos el software del
cual se va a recolectar la informacin no funciona de acuerdo a las necesidades de la empresa o el
cliente, es por eso, que desea modificarlo y ante todo lograr ventajas competitivas y comparativas
que permitan de una manera adecuada tomar la informacin para analizar completamente el buen
funcionamiento de este mediante lo informes entregados y verificados.
Reestructuracin
Aunque la reestructuracin del cdigo puede aliviar inmediatamente los problemas asociados con la
depuracin o los cambios pequeos, esto no es reingeniera, el beneficio real se logra slo cuando
se reestructuran los datos y la arquitectura. La reestructuracin modifica el cdigo fuente o los
datos con la finalidad de adecuarlos para futuros cambios. En general, la reestructuracin no
modifica la arquitectura global del programa.
Tiende a tocarse sobre los detalles de diseo de los mdulos individuales y en las estructuras de
datos locales definidos dentro de los mdulos.
La reestructuracin ocurre cuando la arquitectura bsica de una aplicacin es slida, aun cuando el
interior tcnico necesite trabajarse. Se inicia cuando grandes partes del software son funcionales y
slo un subconjunto de los componentes y datos necesitan una modificacin extensa.
Reestructuracin del cdigo. (Diseo que produzca la misma funcin que el programa original)
Reestructuracin de los datos. (se debe primero analizar el cdigo fuente para poderlo
redisear.)
Ingeniera Directa
Qu opciones existen cuando se enfrenta un programa deficiente diseado e implementado?
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 94
La reingeniera es muy parecida a la limpieza dental. Puede pensar en miles de razones para
demorarla, y la aplazar muchas veces. Pero eventualmente sus tcticas dilatorias regresarn para
provocarle dolor. En la mayora de los casos, la ingeniera directa no simplemente crea el
equivalente moderno de un programa antiguo.
La Economa de la reingeniera
En un mundo perfecto, cualquier programa al que no se le pudiera dar mantenimiento sera retirado
inmediatamente, y sera sustituido por aplicaciones de mayor calidad con reingeniera desarrollada
empleando modernas prcticas de ingeniera del software. Sin embargo, se vive en un mundo de
recursos limitados.
La reingeniera demanda recursos que pueden utilizarse para otros propsitos del negocio. En
consecuencia, antes de que una organizacin intente someter a reingeniera una aplicacin
existente, debe realizar un anlisis costo beneficio.
El anlisis costo beneficio representado en las ecuaciones se puede realizar para todas las
aplicaciones de alta prioridad identificadas durante el anlisis de inventario.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 95
Prueba Final
2. Las principales tareas llevadas a cabo por la ingeniera de software de sala limpia son:
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 96
a. Software
b. Hardware
c. Personal
d. Todos los anteriores
6. Qu implicaciones positivas o negativas tiene la utilizacin de la ingeniera inversa
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 97
6. PISTAS DE APRENDIZAJE
Tener en cuenta: Que la crisis del software siempre se ha presentado a travs de toda la historia
del desarrollo de software, lo que se pretende es evitar tanto inconveniente
Tener en cuenta: que el ciclo de mejora de un proceso es base fundamental para llevar a cabo un
buen desarrollo en los cuales se tienen en cuenta planear, ejecutor, medir y mejorar
Tener en cuenta: que la ley de las consecuencias imprevistas son acontecimientos o problemas
que se pueden presentarse en el cualquier momento o cambios de los objetivos de un producto.
Tenga presente: Que las categoras de software es necesario tener claro el concepto al
desarrollar aplicaciones o soluciones empresariales.
Tener en cuenta: Que para desarrollar aplicaciones es necesario llevar a cabo las actividades del
marco de trabajo tales como comunicacin, planeacin, modelado, construccin y despliegue.
Tenga presente: Que la base fundamental para un buen desarrollo est en una excelente
comunicacin.
Tener en cuenta: Que el lenguaje unificado de modelamiento (UML), solo es una forma de
disear o dibujar la manera como fluir la informacin.
Traer a memoria: Que la ingeniera del software de sala limpia ayuda a eliminar los diversos
procedimientos y cdigos innecesarios.
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 98
7. GLOSARIO
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia
Corporacin Universitaria Remington Direccin Pedaggica
Ingeniera del Software I Pg. 99
8. BIBLIOGRAFA
Ph.D Roger S. Pressman, University of Connecticut, Ingeniera del Software un Enfoque Prctico,
sexta edicin, Mc Graw Hill, 2002, 2005
Alfredo Weitzenfeld, Sur de California (Estados Unidos). Ingeniera del Software Orientado a Objetos
con UML, J
Corporacin Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington
Pgina Web: www.remington.edu.co - Medelln - Colombia