Roger Pressman

ROGER PRESSMAN – BIOGRAFÍA: Roger S. Pressman es un norteamericano ingeniero de software, autor y consultor, y el presid

Views 197 Downloads 33 File size 218KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ROGER PRESSMAN – BIOGRAFÍA: Roger S. Pressman es un norteamericano ingeniero de software, autor y consultor, y el presidente de RS Pressman & Associates. Él recibió una encefalopatía espongiforme bovina de la Universidad de Connecticut, una maestría de la Universidad de Bridgeport y un doctorado de la Universidad de Connecticut. Tiene más de 30 años de experiencia trabajó como ingeniero de software, un gerente, un profesor, un autor y un consultor, centrándose en cuestiones de ingeniería de software. Él ha estado en el Consejo de Redacción de IEEE Software y TI El cortador Diario. Es miembro del IEEE y Tau Beta Pi. Roger Pressman, es una autoridad internacionalmente reconocida en la mejora de procesos de software y en tecnologías de Ingeniería de software. Por más de tres décadas, ha trabajado como ingeniero, gerente, profesor, autor y consultor de software en temas de ingeniería de software. Actualmente es presidente de R.S. Pressman and Associates, Inc., una firma consultora especialista en métodos y entrenamiento en ingeniería de software. Pressman ha diseñado y desarrollado productos que se utilizan en todo el mundo para la formación de ingeniería de software y mejora de procesos. Roger Pressman ha escrito varios artículos y libros sobre temas técnicos y de gestión. Una selección: 

§



§

1977. de control numérico y la fabricación asistida por ordenador

1982. Ingeniería de software: el enfoque de un profesional (primera edición)



§



§

1988. Ingeniería de Software: una guía para principiantes.



§

1991. descarga de software: el peligro y la oportunidad



§



§2009.

1988. Hacer la ingeniería de software suceder: una guía para la institución de la tecnología.

2005. Ingeniería del software: el enfoque de un profesional (sexta edición) Web de ingeniería: el enfoque de un profesional.

METODOLOGÍA DE ROGER PRESSMAN De acuerdo con Roger Pressman, las etapas metodológicas a llevar a cabo para el desarrollo de Sistemas de Información, se establecen de la siguiente manera: Etapas o Fases:

1. Análisis 2. Diseño 3. Codificación 4. Prueba 5. Mantenimiento

A continuación la descripción de estas actividades:

Etapa I: Análisis de los requisitos del software: El proceso de reunión de requisitos se intensifica y se centra especialmente en el software. Dentro del proceso de análisis, es fundamental que a través de una colección de requerimientos funcionales y no funcionales, el desarrollador o desarrolladores del software comprendan completamente la naturaleza de los programas que deben construirse para desarrollar la aplicación, la función requerida, comportamiento, rendimiento e interconexión. [PRR98]. Es de suma importancia que antes de empezar a codificar los programas, se tenga una completa y plena comprensión de los requisitos del software. Pressman establece que la tarea del análisis de requisitos es un proceso de descubrimiento, refinamiento, modelado y especificación. Se refina en detalle el ámbito del software, y se crean modelos de los requisitos de datos, flujo de información y control, y del comportamiento operativo. Se analizan soluciones alternativas y se asignan a diferentes elementos del software. El análisis de requisitos permite al desarrollador o desarrolladores especificar la función y el rendimiento del software, indica la interfaz del software con otros elementos del sistema y establece las restricciones que debe cumplir el software. El análisis de requisitos del software puede dividirse en cinco áreas de esfuerzo, que son: 1. Reconocimiento del problema. Reconocer los elementos básicos del problema tal y como los perciben los usuarios finales. 2. Evaluación y síntesis. Definir todos los objetos de datos

observables externamente, evaluar el flujo y contenido de la información, definir y elaborar todas las funciones del software, entender el comportamiento del software en el contexto de acontecimientos que afectan al sistema. 3. Modelado. Crear modelos del sistema con el fin de entender mejor el flujo de datos y control, el tratamiento funcional y el comportamiento operativo y el contenido de la información. 4. Especificación. Realizar la especificación formal del software 5. Revisión. Un último chequeo general de todo el proceso. Etapa II: Diseño: Según Pressman, el diseño del software es realmente un proceso de muchos pasos pero que se clasifican dentro de uno mismo. En general, la actividad del diseño se refiere al establecimiento de las estructuras de datos, la arquitectura general del software, representaciones de interfaz y algoritmos. El proceso de diseño traduce requisitos en una representación de software [PRR98]. El diseño es el primer paso en la fase de desarrollo de cualquier producto o sistema de ingeniería. De acuerdo con Pressman, el objetivo del diseño es producir un modelo o representación de una entidad que se va a construir posteriormente [PRR98]. El diseño, es la primera de las tres actividades técnicas que implica un proceso de ingeniería de software; estas etapas son diseño, codificación y pruebas. Generalmente la fase de diseño produce un diseño de datos, un diseño arquitectónico, un diseño de interfaz, y un diseño procedimental [PRR98]. El diseño de datos esencialmente se encarga de transformar el modelo de dominio de la información creado durante el análisis [PRR98].En el diseño arquitectónico se definen las relaciones entre los principales elementos estructurales del programa [PRR98]. Para una herramienta de software basada en el desarrollo e implementación de ambientes virtuales éste es un aspecto fundamental dado que en esta representación del diseño se establece la estructura modular del software que se desarrolla. El diseño de interfaz describe cómo se comunica el software consigo mismo, con los sistemas que operan con él, y con los operadores que lo emplean [PRR98]. Etapa III: Generación de Código: Esta actividad consiste en traducir el diseño, en una forma legible por la

máquina. La generación de código se refiere tanto a la parte de generación de los ambientes virtuales, como a la parte en la cuál se añadirá comportamiento a estos ambientes. Por ejemplo, el lenguaje de programación VRML 2.0 es un lenguaje de modelado en 3D en el cuál se dibuja por medio de generar código de programación de formato y marcado para especificar las características del objeto u objetos que se van agregando a un mundo o entorno virtual. El comportamiento de las escenas virtuales es decir, su funcionalidad, se puede construir a través de algún otro lenguaje de programación, como clases Java o scripts especificados en JavaScript. Todas estas actividades implican generar código.

Etapa IV: Pruebas: Una vez que se ha generado código, comienzan las pruebas del software o sistema que se ha desarrollado. De acuerdo con Pressman, el proceso de pruebas se centra en los procesos lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en los procesos externos funcionales, es decir, la realización de las prueba para la detección de errores [PRR98]. En el caso de una herramienta de software, es necesario tener etapas de pruebas tanto para la parte funcional del software, como para la parte aplicativa del mismo. Se requiere poder probar el software con aplicaciones reales que puedan evaluar el comportamiento del software, con el fin de proporcionar retroalimentación a los desarrolladores. Es sumamente importante que durante el proceso de desarrollo no se pierda el contacto con los interesados o solicitantes del desarrollo de software, de esta manera los objetivos de proyecto se mantendrán vigentes y se tendrá una idea clara de los aspectos que tienen que probarse durante el periodo de pruebas.

Etapa V: Mantenimiento. El software indudablemente sufrirá cambios, y habrá que hacer algunas modificaciones a su funcionalidad. Es de suma importancia que el software de calidad pueda adaptarse con fines de acoplarse a los cambios de su entorno externo [PRR98]. Por medio de la documentación apropiada y atinada del software se pueden presentar las vías para el mantenimiento y modificaciones al mismo.

ELEMENTOS IMPORTANTES

Metodología, considera a lo menos cuatro elementos importantes: 1.- Principio Rector: También denominado “filosofía de la metodología”, es la norma o idea fundamental que rige el pensamiento o la conducta, y orienta el análisis, diseño y desarrollo del software. Es el Principio, el que ordena y estructura las herramientas que son aplicables en la metodología, así como los Procedimientos con los que se aplica. Tradicionalmente, se apellida a cada metodología en función del principio que la rige: 

“Metodología estructurada” se fundamenta en que lo más importante de un sistema de información, son las estructuras que lo componen y que, por lo tanto, el análisis se debe centrar en ellas, descomponiéndolas en nuevas subestructuras hasta tener elementos tan simples, que puedan ser resueltos en forma sencilla.



“Metodología orientada a objetos” indica que el principio rector es la orientación a objetos, es decir el análisis de todos los componentes del sistema como un conjunto de objetos que poseen propiedades y que, a través de mensajes, se interrelacionan entre sí.

2.- Herramientas: son definiciones de mecanismos manuales, semiautomáticos o automáticos que permiten analizar, diseñar o construir el software. Las herramientas quedan estrechamente ligadas al principio rector de la metodología y es muy poco probable que una misma herramienta sea

utilizable en más de una metodología . Una herramienta debe tener un objetivo específico y un método de aplicación. Por lo general, se ha demostrado que las herramientas gráficas (que usan imágenes) son más fáciles de usar y entender que las herramientas que sólo se sustentan en textos escritos. Son ejemplos de herramientas: los DFD, MER, Lenguaje Estructurado, Diagramas de Componentes, Diagramas de Herencia, etc. 3.- Procedimientos: Se refiere al modo de hacer, con orden, las cosas; es decir, como poner en práctica las herramientas. Los procedimientos corresponden a la definición que permite unir y ordenar los resultados de cada herramienta y facilitan el desarrollo racional y oportuno de software. Definen la secuencia en la que se aplican las herramientas, la entrega de los resultados de ellas, los controles que ayudan a asegurar la calidad. También coordinan y controlan los cambios y entregan las directrices que ayudan a los administradores a evaluar el progreso del proyecto. 4.- Modelos: El modelo define las etapas a realizar para alcanzar la solución al problema planteado. Los Modelos, se refieren a la forma de organizar los Procedimientos, de manera de obtener resultados de calidad en el menor tiempo posible. A diferencia de las Herramientas y los Procedimientos, los modelos son relativamente independientes del principio, pudiendo aplicarse sin grandes dificultades, cualquier modelo a cualquier metodología. Pese a lo anterior, el modelo debe quedar definido claramente antes de iniciar el desarrollo del software. Ejemplos de modelos son: Cascada, Prototipos, Espiral, T4G, RAD: 1. Cascada: También denominado “clásico” . Bajo este modelo, los procedimientos de la metodología se ordenan en pasos o etapas, las cuales deberán ser seguidas bajo un enfoque secuencial de análisis, diseño y desarrollo. Creado a partir del modelo convencional de “línea de producción” de la ingeniería clásica, este modelo es el más aplicado en el desarrollo de Software. 2. Prototipos : Los prototipos son modelos (no necesariamente productos de software) que permiten estudiar y probar aspectos específicos del producto final (en este caso el producto de software). Bajo este modelo, se planifica la aplicación de las diferentes herramientas, para producir elementos de pruebas específicas (interfaz de usuario, mantenedores, procesos) que deberán ser presentados al usuario y confirmados por éste. Alternativamente, se ha denominado de esta forma, al resultado del diseño rápido de productos de software que permitan

comprender de mejor manera los requerimientos del usuario. Sin embargo, para prevenir confusiones, se sugiere que para esos casos, se usen las denominaciones siguientes, según corresponda. 3. Espiral: El modelo espiral, pretende optimizar los tiempos y reducir la incertidumbre del proyecto, así, la idea es partir produciendo una pequeña parte del sistema (pero completamente funcional) y una vez completada, se procede a crear una segunda parte, acoplada a la primera, de manera de que en cada iteración, se obtiene una versión aumentada del sistema. El proceso concluye cuando se considera que el sistema ha alcanzado un nivel de maduración tal, que permite que el trabajo para el que fue creado, sea realizado sin mayores inconvenientes. 4. T4G o RAD(D): T4G es la sigla de “Técnicas de 4ª Generación” y RAD(D) es la sigla de “Rapid Application Development (and Deploy)” o “Desarrollo (y Distribución) rápido de aplicaciones”. Como modelo, se basa en la existencia de herramientas de software que se caracterizan como “T4G” y “RAD(D)”, las cuales permiten que el analista diseñador de un sistema, realice un mínimo análisis y diseño, lo traduzca rápidamente en aplicación y se lo presente al usuario para su estudio y posterior aprobación o indicaciones para modificación.

Actualmente, este es, con una alta probabilidad, el modelo más utilizado por los desarrolladores de software; sin embargo, y probablemente en la misma tasa de ocurrencia, es llamado “modelo prototipo”.

MODELO DE PROTOTIPOS: Este modelo comienza con la recolección de requisitos, el desarrollador y

el cliente definen los objetivos globales para el software, originándose un diseño rápido que se centra en una representación de esos aspectos del software que sean visibles para el usuario/cliente. De este diseño surge la construcción de un prototipo y este es evaluado por el cliente/usuario. La interacción ocurre cuando el prototipo satisface las necesidades del cliente.

Las etapas del modelo son: - Investigación preliminar.- Colecta y refinamiento de los requerimientos y proyecto rápido:- Análisis y especificación del prototipo.- Diseño y construcción del prototipo.- Evaluación del prototipo por el cliente.Renacimiento del prototipo.- Diseño técnico.- Programación y test.- Operación y mantenimiento. VENTAJAS: No modifica el flujo del ciclo de vida. Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios. Reduce costos y aumenta la probabilidad de éxito. Exige disponer de las herramientas adecuadas. No presenta calidad ni robustez. Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería. DESVENTAJASA los usuarios les gusta el sistema real y a los desarrolladores les gusta construir algo de inmediato. Sin embargo, la construcción de prototipos se torna problemática por las siguientes razones: El cliente ve funcionando lo que para el es la primera versión del prototipo que ha sido construido con “chicle y cable para embalaje”, y puede decepcionarse al indicarle que el sistema aun no ha sido construido. El desarrollador puede caer en la tentación de aumentar el prototipo para construir el sistema final sin tener en cuenta los obligaciones de calidad y de mantenimiento que tiene con el cliente. Para construir un prototipo del software se aplican los siguientes pasos:

PASO 1. Evaluar la petición del software y determinar si el programa a desarrollar es un buen candidato para construir un prototipo.Debido a que el cliente debe interaccionar con el prototipo en los últimos pasos, es esencial que: 1) el cliente participe en la evaluación y refinamiento del prototipo, y 2) el cliente sea capaz de tomar decisiones de requerimientos de una forma oportuna. Finalmente, la naturaleza del proyecto de desarrollo tendrá una fuerte influencia en la eficacia del prototipo. PASO 2. Dado un proyecto candidato aceptable, el analista desarrolla una representación abreviada de los requerimientos.Antes de que pueda comenzar la construcción de un prototipo, el analista debe representar los dominios funcionales y de información del programa y desarrollar un método razonable de partición. La aplicación de estos principios de análisis fundamentales, pueden realizarse mediante los métodos de análisis de requerimientos. PASO 3. Después de que se haya revisado la representación de los requerimientos, se crea un conjunto de especificaciones de diseño abreviadas para el prototipo.El diseño debe ocurrir antes de que comience la construcción del prototipo. Sin embargo, el diseño de un prototipo se enfoca normalmente hacia la arquitectura a nivel superior y a los aspectos de diseño de datos, en vez de hacia el diseño procedimental detallado. PASO 4. El software del prototipo se crea, prueba y refinaIdealmente, los bloques de construcción de software preexisten se utilizan para crear el prototipo de una forma rápida. Desafortunadamente, tales bloques construidos raramente existen.Incluso si la implementación de un prototipo que funcione es impracticable, es escenario de construcción de prototipos puede aun aplicarse. Para las aplicaciones interactivas con el hombre, es posible frecuentemente crear un prototipo en papel que describa la interacción hombre-maquina usando una serie de hojas de historia. PASO 5. Una vez que el prototipo ha sido probado, se presenta al cliente, el cual "conduce la prueba" de la aplicación y sugiere modificaciones.Este paso es el núcleo del método de construcción de prototipo. Es aquí donde el cliente puede examinar una representación implementada de los requerimientos del programa, sugerir modificaciones que harán al programa cumplir mejor las necesidades reales. PASO 6. Los pasos 4 y 5 se repiten iterativamente hasta que todos los requerimientos estén formalizados o hasta que el prototipo haya evolucionado hacia un sistema de producción.