jueves, 29 de noviembre de 2012

Metodología Kendall & Kendall.

“El ciclo de vida de vida del desarrollo de sistemas es un enfoque por fases para el análisis y el diseño cuya premisa principal consiste en que los sistemas se desarrollan mejor utilizando un ciclo especifico de actividades del analista y el usuario.” (Kendall & Kendall) Según la metodología de Kendall & Kendall el ciclo de vida de un sistema consta de siete partes: siendo la primera la identificación del problema, la segunda identificación de requisitos de información, la tercera es el análisis de las necesidades del sistema, la cuarta es el diseño del sistema recomendado, la quinta desarrollo y documentación del sistema, la sexta prueba y mantenimiento y la última implementación y evaluación. Cada fase se explica por separado pero nunca se realizan como pasos aislados, más bien es posible que algunas actividades se realicen de manera simultánea, y algunas de ellas podrían repetirse. 


FASE I: Identificación de problemas, oportunidades y objetivos.

Observación directa del entorno. 
Aplicación de entrevista para recolectar información. 
Sintetizar la información recolectada para construir objetivos. 
Estimar el alcance del proyecto. 
Identificar si existe una necesidad, problema u oportunidad argumentada. 
Documentar resultados. 
Estudiar los riesgos del proyecto. 
Presentar un informe de vialidad. 

En la primera fase el analista es el encargado de identificar los problemas de la organización, detallarlos, examinar, evaluar las oportunidades y objetivos. 

El analista debe identificar y evaluar los problemas existentes en la organización de manera crítica y precisa. Mayormente los problemas son detectados por alguien más y es cuando el analista es solicitado a fin de precisarlos. Las oportunidades son situaciones que el analista considera susceptibles de mejorar utilizando sistemas de información computarizados, lo cual le da mayor seguridad y eficacia a las organizaciones además de obtener una ventaja competitiva. El analista debe identificar los objetivos, es decir, el analista debe averiguar lo que la empresa trata de conseguir, se podrá determinar si algunas funciones de as aplicaciones de los sistemas de información pueden contribuir a que el negocio alcance sus objetivos aplicándolas a problemas u oportunidades específicos. Los usuarios, los analistas y los administradores de sistemas que coordinan el proyecto son los involucrados en la primera fase. Las actividades de esta fase son las entrevistas a los encargados de coordinar a los usuarios, sintetizar el conocimiento obtenido, estimar el alcance del proyecto y documentar los resultados. El resultado de esta fase en un informe de viabilidad que incluye la definición del problema y un resumen de los objetivos. La administración debe decidir si se sigue adelante o si se cancela el proyecto propuesto.




FASE II: Determinación de los requerimientos de información.

Revisión de los objetivos. 
Identificar el dominio. 
Investigar la razón por la cual se implementa el sistema actual. 
Recolectar información sobre los procedimientos y operaciones que se desempeñan actualmente. 
Detallar específicamente: Quiénes son los involucrados, cuál es la actividad, regla y restricciones del negocio, entorno de desarrollo de las actividades, momentos oportunos de desarrollo de cada función, la manera en que se desempeñan los procedimientos actuales. 
Elaborar una lista detallada y organizada de todos los procedimientos. 
Separar requerimientos funcionales y no funcionales. Adicionar al informe de la primera fase, esta nueva información.



En esta fase el analista se esfuerza por comprender la información que necesitan los usuarios para llevar a cabo sus actividades. Entre las herramientas que se utilizan para determinar los requerimientos de información de un negocio se encuentran métodos interactivos como las entrevistas, los muestreos, la investigación de datos impresos y la aplicación de cuestionarios; métodos que no interfieren con el usuario como la observación del comportamiento de los encargados de tomar las decisiones y sus entornos e oficina, al igual que métodos de amplio alcance como la elaboración de prototipos. 

Esta fase es útil para que el analista confirme la idea que tiene de la organización y sus objetivos. 

Los implicados en esta fase son el analista y los usuarios, por lo general los trabajadores y gerentes del área de operaciones. 

El analista necesita conocer los detalles de las funciones del sistema actual: 
El quién (la gente involucrada), el qué (la actividad del negocio), el dónde (el entorno donde se desarrollan las actividades), el cuándo (el momento oportuno) y el cómo (la manera en que se realizan los procedimientos actuales) del negocio que se estudia. 

Al término de esta fase, el analista debe conocer el funcionamiento del negocio y poseer información muy completa acerca de la gente, los objetivos, los datos y los procedimientos implicados. 


FASE III: Análisis de las necesidades.

Evaluar las dos fases anteriores. 
Modelar las entradas, los procesos y las salidas de las funciones ya identificadas. 
Elaborar diccionario de datos y sus especificaciones. 
Elaborar diagramas de procesos de cada función. 
Elaborar propuesta del sistema con todos los diagramas de operaciones y de procesos. 
Realizar el análisis del riesgo sobre el realizado en las fases anteriores, tomando en cuenta el aspecto económico, técnico y operacional (estudio de factibilidad) 
Estimar en un diagrama de Gantt el tiempo que tomará desarrollar el sistema. 

En esta fase el analista evalúa las dos fases anteriores, usa herramientas y técnicas como el uso de diagramas de flujo de datos para graficar las entradas, los procesos y las salidas de las funciones del negocio en una forma gráfica estructurada. 


A partir de los diagramas de flujo de datos se desarrolla un diccionario de datos que enlista todos los datos utilizados en el sistema así como sus respectivas especificaciones. 

El analista prepara en esta fase, una propuesta de sistemas que sintetiza sus hallazgos, proporciona un análisis de costo/beneficio de las alternativas y ofrece, en su caso, recomendaciones sobre lo que se debe hacer. 


FASE IV: Diseño del sistema recomendado.

Evaluar las tres fases anteriores. 
Realizar el diseño lógico de todo el sistema. 
Elaborar procedimientos precisos para la captura de los datos que van a ingresar al sistema de información. 
Elaborar el diseño de la base de datos. 
Diseñar las diferentes interfaces de usuarios de cada operación, procedimiento y/o función. 
Diseñar controles y procedimientos de respaldos que protejan al sistema y a los datos. 
Producir los paquetes específicos de programas para los programadores. 
Elaborar una lista de las funciones genéricas y de las que será obligatorio crear.


En esta fase el analista utiliza la información recopilada en las primeras fases para realizar el diseño lógico del sistema de información. 

El analista diseña procedimientos precisos para la captura de datos que aseguran que los datos que ingresen al sistema de información sean correctos. 

Facilita la entrada eficiente de datos al sistema de información mediantes técnicas adecuadas de diseño de formularios y pantallas. 

La concepción de la interfaz de usuario forma parte del diseño lógico del sistema de información. 

La interfaz conecta al usuario con el sistema y por tanto es sumamente importante. 

También incluye el diseño de archivos o bases de datos que almacenarán gran parte delos datos indispensables para los encargados de tomar las decisiones en la organización. 

En esta fase el analista interactúa con los usuarios para diseñar la salida (en pantalla o impresa) que satisfaga las necesidades de información de estos últimos. 

Finalmente el analista debe diseñar controles y procedimientos de respaldo que protejan al sistema y a los datos y producir paquetes de especificaciones de programa para los programadores. 

Cada paquete debe contener esquemas para la entrada y la salida, especificaciones de archivos y detalles del procesamiento.


FASE V: Desarrollo y documentación del software.

Evaluar los procedimientos que va a ser desarrollados por el programador. 
Mostrar y explicar cada procedimiento, función y operación al programador. 
Elaborar manuales de procedimientos internos del sistema. 
Elaborar manuales externos de ayuda a los usuarios del sistema. 
Elaborar demostraciones para los usuarios y la interacción con distintas interfaces. 
Elaborar actualizaciones para los diferentes procedimientos. Elaborar un informe con el tiempo que se llevó construir cada procedimiento.



En la quinta fase del ciclo del desarrollo de sistemas, el analista trabaja de manera conjunta con los programadores para desarrollar cualquier software original necesario. Entre las técnicas estructuradas para diseñar y documentar software se encuentran los diagramas de estructuras, los diagramas de Nassi-Shneiderman y el pseudocódigo. 

Durante esta fase el analista trabaja con los usuarios para desarrollar documentación efectiva para el software, como manuales de procedimientos, ayuda en línea y sitios web que incluyan respuestas a preguntas frecuentes en archivos “léame” que se integrarán al nuevo software. 

La documentación indica a los usuarios cómo utilizar el sistema y qué hacer en caso de que surjan problemas derivados de este uso. Los programadores desempeñan un rol clave en esta fase porque diseñan, codifican y eliminan errores sintácticos de los programas de cómputo.



FASE VI: Prueba y mantenimiento del sistema.

Realizar la programación de las pruebas del sistema. 
Realizar un instrumento para evaluar el sistema de información. 
El programador deberá elaborar un resumen de las pruebas del sistema. 
El analista deberá realizar un informe de sus pruebas y discutirlo con el programador. 
Elaborar la planificación de las horas del mantenimiento del sistema. Elaborar la lista de las operaciones que pudieran sufrir modificaciones de códigos.



Antes de poner en funcionamiento el sistema es necesario probarlo es mucho menos costoso encontrar los problemas antes que el sistema se entregue a los usuarios. 

Una parte de la pruebas la realizan los programadores solos, y otra la llevan a cabo de manera conjunta con los analistas de sistemas. Primero se realizan las pruebas con datos de muestra para determinar con precisión cuáles son los problemas y posteriormente se realiza otra con datos reales del sistema actual. 

El mantenimiento del sistema de información y su documentación empiezan en esta fase y se llevan de manera rutinaria durante toda su vida útil.





FASE VII: Implementación y evaluación del sistema.

Planificar gradualmente la conversión del sistema anterior. 
Instalar los equipos de hardware necesarios para el funcionamiento del software creado. 
Capacitar por medio de talleres a los usuarios en el manejo de equipos y software creados. 
Evaluar la adaptabilidad de los usuarios al sistema.

Esta es la última fase del desarrollo de sistemas, y aquí el analista participa en la implementación del sistema de información. En esta fase se capacita a los usuarios en el manejo del sistema. Parte de la capacitación la imparten los fabricantes, pero la supervisión de ésta es responsabilidad del analista de sistemas. 

Se menciona la evaluación como la fase final del ciclo de vida del desarrollo de sistemas principalmente en áreas del debate. En realidad, la evaluación se lleva a cabo durante cada una de las fases. 

El trabajo de sistemas es cíclico, cuando un analista termina una fase del desarrollo de sistemas y pasa a la siguiente, el surgimiento de un problema podría obligar a regresar a la fase previa y modificar el trabajo realizado.


Técnica, herramienta, método y metodología.



La técnica: 

Es un conjunto de saberes prácticos o procedimientos para obtener el resultado deseado. Una técnica puede ser aplicada en cualquier ámbito humano: ciencias, arte, educación etc. Aunque no es privativa del hombre, sus técnicas suelen ser más complejas que la de los animales, que sólo responden a su necesidad de supervivencia. 

En los humanos la técnica muchas veces no es consciente o reflexiva, incluso parecería que muchas técnicas son espontáneas e incluso innatas. 

La técnica requiere de destreza manual y/o intelectual, generalmente con el uso de herramientas. Las técnicas suelen transmiten de persona a persona, y cada persona las adapta a sus gustos o necesidades y puede mejorarlas. 

La técnica surgió de la necesidad humana de modificar su medio. Nace en la imaginación y luego se lleva a la concreción, siempre de forma empírica. En cambio la tecnología surge de forma científica, reflexiva y con ayuda de la técnica (desde el punto de vista histórico). 

Otra definición de técnica: "Supone el razonamiento inductivo y analógico de que en situaciones similares una misma conducta o procedimiento produce el mismo efecto, cuando éste es satisfactorio. Es por tanto el ordenamiento de la conducta o determinadas formas de actuar y usar herramientas como medio para alcanzar un fin determinado." 

Herramienta: 

En un sentido amplio, una herramienta es aquel elemento elaborado con el objetivo de hacer más sencilla una determinada actividad o labor mecánica, que requiere, para llevarla a buen puerto, de una aplicación correcta de energía. 

Otro uso recurrente que observa el término herramienta es el de dispositivo o procedimiento que aumenta la capacidad de llevar a cabo determinadas tareas, por ejemplo herramientas de programación, herramientas de gestión, matemáticas, entre otras. 

Método: 

Se refiere al medio utilizado para llegar a un fin. Su significado original señala el camino que conduce a un lugar. 

La palabra método puede referirse a diversos conceptos. Por ejemplo, a los métodos de clasificación científica. Esta es la disciplina que permite a los biólogos agrupar y separar en categorías a los diversos organismos y conjuntos. 

El método científico, por su parte, es la serie de pasos que sigue una ciencia para obtener saberes válidos (es decir, que pueden verificarse a través de un instrumento fiable). Gracias al respeto por un método científico, un investigador logra apartar su subjetividad y obtiene resultados más cercanos a la objetividad o a lo empírico. 

Según el filósofo inglés Francis Bacon, las distintas etapas del método científico son la observación (que permite analizar un fenómeno según se aparece ante la realidad); la inducción (para distinguir los principios particulares de cada una de las situaciones observadas); la hipótesis (la planteada a partir de la observación y de acuerdo a ciertos criterios); la prueba de la hipótesis mediante la experimentación; la demostración o refutación de la hipótesis; y el establecimiento de la tesis o teoría científica (las conclusiones). 

Otro método conocido es el hipotético deductivo, que es una descripción posible del método científico. Esta metodología sostiene que una teoría científica nunca puede calificarse como verdadera: en cambio, lo correcto es considerarla como no refutada. 

El método racional es el utilizado para obtener conocimiento sobre fenómenos que no son susceptibles de comprobación experimental. Entre las áreas que se apoyan en este método para la resolución de sus inquietudes, destaca la filosofía. Gracias a él puede cuestionar la realidad a partir del método racional, basado en la observación y en la aceptación de ciertas existencias que poseen evidencia en la realidad. A través de él puede conseguirse comprender de una forma más amplia la humanidad, la vida, el mundo y al ser. 

El método experimental es aquel que se caracteriza por comprobar, midiendo las variaciones y los efectos de una situación. Las ciencias que más lo aplican son las ciencias naturales y biológicas. 

El método estadístico se encarga de recopilar datos numéricos, y de interpretarlos y elaborar relaciones entre determinados grupos de elementos para determinar tendencias o generalidades. 

El término método, por último, también se utiliza en el concepto de métodos anticonceptivos, que es la metodología que imposibilita o minimiza la chance de que se produzca un embarazo al entablar una relación sexual. Los métodos anticonceptivos incluyen acciones, medicación o dispositivos que permiten controlar la natalidad. 

Metodología: 

Hace referencia al conjunto de procedimientos racionales utilizados para alcanzar una gama de objetivos que rigen en una investigación científica, una exposición doctrinal o tareas que requieran habilidades, conocimientos o cuidados específicos. Alternativamente puede definirse la metodología como el estudio o elección de un método pertinente para un determinado objetivo. 

No debe llamarse metodología a cualquier procedimiento, ya que es un concepto que en la gran mayoría de los casos resulta demasiado amplio, siendo preferible usar el vocablo método. 

Análisis, análisis estructurado y orientado a objeto


El analista de sistemas es imprescindible en cualquier organización, debido al abanico de destrezas que éste posee y los beneficios que le produce. se encarga no sólo estudiar la organización y desarrollar un sistema automatizado, es más que eso, la labor del analista de sistemas es también la de asesorar, supervisar, recomendar y modificar procesos internos y algunas veces de modificar la estructura misma de la empresa, con el propósito de lograr los objetivos que se proponen. 

El analista de sistemas también tiene dentro de sus actividades el análisis y diseño de sistemas el cual se refiere al "proceso de examinar la situación de una empresa con el propósito de manejarla con métodos y procedimientos más adecuados." (senn, 1992, p.11). Ésta actividad se puede dividir en dos: el análisis de sistemas que comprende la planificación, el levantamiento inicial de información y el estudio en detalle del sistema actual para luego recomendar o estructurar las especificaciones necesarias para el nuevo sistema; y el diseño que consiste en llevar a cabo el sistema por medio de la clasificación y empleo de la información de manera que se pueda ofrecer una alternativa mucho más viable. 

Todo análisis y diseño de sistemas liderizado o no por un analista de sistemas posee fases que pueden dividirse de forma lógica en elementos discretos pero, que innegablemente son continuos, de alguna manera cíclica. es aquí donde pueden ser utilizadas diferentes metodologías entre las cuales se pueden mencionar: el análisis y diseño estructurado y el análisis y diseño orientado a objeto. 

la investigación que se presenta a continuación define las dos metodologías mencionadas anteriormente así como también, las diferencias que existen entre ellas. por último se presenta un caso práctico donde se plantea un ejemplo de cómo se puede utilizar la metodología orientada a objeto en un proyecto web que le sirva a la empresa donde laboro. 

Análisis y diseño estructurado. 

Muchos especialistas en sistemas de información reconocen la dificultad de comprender de manera completa sistemas grandes y complejos. el método de desarrollo del análisis estructurado tiene como finalidad superar esta dificultad por medio de: 1) la división del sistema en componentes y 2) la construcción de un modelo del sistema. el método incorpora elementos tanto de análisis como de diseño. 

Análisis estructurado. 

El análisis estructurado se concentra en especificar lo que se requiere que haga el sistema o la aplicación. no se establece cómo se cumplirán los requerimientos o la forma en que se implantará la aplicación. más bien permite que las personas observen los elementos lógicos (lo que hará el sistema) separado de los componentes físicos (computadoras, terminales, sistemas de almacenamiento, etc.). Después de esto se puede desarrollar un diseño físico eficiente para la situación donde será utilizado. 

Elementos del análisis estructurado. 

Descripción gráfica: utiliza símbolos o iconos para crear un modelo gráfico del sistema. Sin introducir procesos manuales o informatizados, archivos, entre otros. 

Diagramas de flujo de datos: tienen la misión de mostrar las fuentes y destinos de los datos, identificar y dar nombre a los procesos, dar nombre a los grupos de datos que relacionan una función con otra, señalar los almacenes de datos a los que se tiene acceso. 

Diccionario de datos: se definen flujo de datos, procesos y almacenes de datos. 

Diseño estructurado. 

El diseño estructurado, otro elemento del análisis estructurado que emplea la descripción gráfica, se enfoca en el desarrollo de especificaciones del software. la meta del diseño estructurado es crear programas formados por módulos independientes unos de otros desde el punto de vista funcional. este enfoque no sólo conduce hacia mejores programas sino que facilita el mantenimiento de los mismos cuando surja la necesidad de hacerlo. 

El diseño estructurado es una técnica específica para el diseño de programas y no un método de diseño de compresión. es decir, no indica nada relacionado con el diseño de archivos o bases de datos, la presentación de entradas o salidas, la secuencia de procesamiento o el hardware que dará soporte a la aplicación. Esta técnica conduce a la especificación de módulos de programa que son funcionalmente independientes. 

La herramienta fundamental del diseño estructurado es el diagrama de flujo de datos, los diagramas estructurados son de naturaleza gráfica y evitan cualquier referencia relacionada con el hardware o detalles físicos. Su finalidad no es mostrar la lógica de los programas (que es la tarea de los diagramas de flujo). Los diagramas estructurados describen la interacción entre módulos independientes junto con los datos que un módulo pasa a otro cuando interacciona con él. Estas especificaciones funcionales para los módulos se proporcionan a los programadores antes que dé comienzo la fase de escritura de código. 

Empleo del análisis y diseño estructurado con otros métodos. 

Se combina, con bastante frecuencia, con el método de ciclo de vida clásico de desarrollo de sistemas. Por ejemplo los analistas pueden optar por desarrollar diagramas de flujo de datos como una forma para documentar las relaciones entre componentes durante la investigación detallada de algún sistema existente. Así mismo, se pueden definir los archivos y datos en un diccionario centralizado de datos de acuerdo con las reglas del análisis estructurado. 

Análisis y diseño orientado a objetos. 

Las técnicas orientadas a objetos permiten que el software se construya a partir de objetos de comportamiento específico. los propios objetos se pueden construir a partir de otros, que a su vez pueden estar formados por otros objetos. 

El análisis de sistemas en el mundo orientado a objetos se realiza al estudiar los objetos en un ambiente, así como los eventos que interactúan con dichos objetos. El diseño del software se realiza al volver a utilizar clases de objetos ya existentes y, en caso necesario, al construir nuevas clases. al modelar una empresa, los analistas deben identificar sus tipos de objetos y las operaciones que hagan que los objetos se comporten en determinada forma. 

Las técnicas orientadas a objetos se pueden utilizar como medios para el diseño sencillo de sistemas complejos. El sistema se puede ver como una colección de objetos, donde cada uno de ellos puede llegar a tener varias posibilidades. Las operaciones que modifican el estado son relativamente sencillas. los objetos se construyen a partir de otros objetos. Los sistemas se construyen a partir de otros componentes probados con un formato definido para las solicitudes de las operaciones del componente. El analista orientado a objetos ve el mundo como objetos (con estructuras de datos y métodos) y eventos que activan operaciones, las cuales modifican el estado de los objetos. Las operaciones aparecen como objetos que hacen solicitudes a otros objetos. El analista crea diagramas de la estructura de los objetos y de los eventos que los modifican. El modelo del diseñador es similar al modelo del analista, pero se toma con el detalle suficiente como para crear el código. el análisis y diseño orientado a objetos intenta lograr la reutilización masiva de las clases de objetos. Modela el mundo en términos de objetos que tienen propiedades y comportamientos, y eventos que activan operaciones que modifican el estado de los objetos. los objetos interactúan de manera formal con otros objetos. 

Programación orientada a objeto. 

La programación orientada a objetos no es un concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los 70. se puede definir programación orientada a objetos (oops) como una técnica de programación que utiliza objetos como bloque esencial de construcción. la oops, es un tipo de programación más cercana al razonamiento humano. La oops surge como una solución a la programación de grandes programas, y para solventar el mantenimiento de dichas aplicaciones, ya que en la programación estructura el más mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio con la oops solo es cuestión de añadir o modificar métodos de una clase o mejor, crear una nueva clase a partir de otra (herencia). 

Objeto: 

Los objetos son las cosas físicas y conceptuales que encontramos en el universo alrededor de nosotros. Hardware, software, documentos, seres humanos, los conceptos son todos los ejemplos de los objetos.

Clases: 

Las clases son como plantillas o modelos que describen como se construyen ciertos tipos de objeto. Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase ("instance"). Una clase es una colección de objetos similares y un objeto es una instancia de una clase. Se puede definir una clase como un modelo que se utiliza para describir uno o más objetos del mismo tipo. 

Herencia: 

Una característica muy importante de los objetos y las clases es la herencia, una propiedad que permite construir nuevos objetos (clases) a partir de unos ya existentes. Esto permite crear "sub-clases" denominadas clases derivadas que comparten las propiedades de la clase de la cual derivan (clase base). las clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. se puede decir que la herencia permite definir nuevas clases a partir de las clases ya existentes. 

Polimorfismo: 

En un sentido literal, polimorfismo significa la cualidad de tener más de una forma. En el contexto de poo, el polimorfismo se refiere al hecho de que una simple operación puede tener diferente comportamiento en diferentes objetos. En otras palabras, diferentes objetos reaccionan al mismo mensaje de modo diferente. Los primeros lenguajes de poo fueron interpretados, de forma que el polimorfismo se contemplaba en tiempo de ejecución. Por ejemplo, en c++, al ser un lenguaje compilado, el polimorfismo se admite tanto en tiempo de ejecución como en tiempo de compilación. 

Diferencias análisis y diseño estructurado y orientado a objeto. 

- la metodología de análisis y diseño estructurado, examinan los sistemas desde el punto de vista de las funciones o tareas que deben realizar, tareas que se van descomponiendo sucesivamente en otras tareas más pequeñas y que forman los bloques o módulos de las aplicaciones. En la orientación a objeto, por su parte, cobra mucho más importancia el aspecto de "modelado" del sistema, examinando el dominio del problema como un conjunto de objetos que interactúan entre sí. 

- en la metodología de análisis y diseño estructurado se produce una división entre los dos elementos de un sistema: funciones que llevan a cabo los programas y datos que se almacenan en archivos o bases de datos. y por otro lado, la orientación al objeto da un enfoque unificado de ambos aspectos, que se unen en los objetos. 

- en la metodología de análisis y diseño estructurado las herramientas que utilizan para el análisis son: diagramas de flujos de datos, diccionarios de datos, diagramas entidad-relación, diagramas de transición de estado, especificaciones de procesos. en las metodologías orientadas a objetos se emplean distintos modelos que depende de la metodología, entre los principales están modelo de objetos, modelo de estado u objeto-estado, entre otros. 

Además, podemos agregar otras diferencias secundarias tales como: 

- se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto. 

- aparece una nueva forma de concebir los lenguajes de programación y su uso al incorporarse bibliotecas de clases y otros componentes reutilizables. 

- hay un alto grado de interacción y solapamiento, lo que lleva a una forma de trabajo muy dinámica.
 

Reloj