1) El documento habla sobre diferentes temas relacionados con el análisis de requerimientos de software, incluyendo definición de planificación de proyectos de software, principios de análisis, análisis orientado a objetos, metodologías de análisis de requerimientos y métodos de análisis.
2) Se describen varios métodos como el análisis estructurado, la especificación operacional y el análisis orientado a objetos.
3) También se explica el método de análisis orient
2. INTORDUCCIÓNINTORDUCCIÓN
• ¡Bienvenidos…!
• En el desarrollo de esta presentación, hablaremos de Definición de planificación de
proyecto de software, Principio del análisis, Análisis orientado a objetos, Metodología de
análisis de requerimiento, Método de análisis orientado al flujo de datos, Desarrollo del
sistema estructurado de datos, Desarrollo del sistema Jackson, Metodología de programación
– orientado a objeto, Análisis de lenguajes orientado a objetos, Fundamentos de programación
orientada a objeto. Se podría decir que en la ingeniería de software, un Análisis deSe podría decir que en la ingeniería de software, un Análisis de
Requerimientos es una tarea que cubre el hueco entre la definición del software a nivel sistemaRequerimientos es una tarea que cubre el hueco entre la definición del software a nivel sistema
y el diseño del mismo. Tanto el desarrollador como el cliente tienen un papel activo, puesy el diseño del mismo. Tanto el desarrollador como el cliente tienen un papel activo, pues
juntos definen en detalle los requisitos del sistema a desarrollar y los pasos a seguir.juntos definen en detalle los requisitos del sistema a desarrollar y los pasos a seguir.
• Conoce la importancia que éste tiene durante el proceso de diseño y desarrollo de softwareConoce la importancia que éste tiene durante el proceso de diseño y desarrollo de software
y aplicacionesy aplicaciones
3. DEFINICIÓN DE PLANIFICACIÓN DEDEFINICIÓN DE PLANIFICACIÓN DE
PROYECTO DE SOFTWAREPROYECTO DE SOFTWARE
• Es el Proceso de gestión para la creación de un Sistema o software, la cual encierra unEs el Proceso de gestión para la creación de un Sistema o software, la cual encierra un
conjunto de actividades, una de las cuales es la estimación, estimar es echar un vistazo alconjunto de actividades, una de las cuales es la estimación, estimar es echar un vistazo al
futuro y aceptamos resignados cierto grado de incertidumbre. Aunque la estimación, es mas unfuturo y aceptamos resignados cierto grado de incertidumbre. Aunque la estimación, es mas un
arte que una Ciencia, es una actividad importante que no debe llevarse a cabo de formaarte que una Ciencia, es una actividad importante que no debe llevarse a cabo de forma
descuidada. Existen técnicas útiles para la estimación de costes de tiempo. Y dado que ladescuidada. Existen técnicas útiles para la estimación de costes de tiempo. Y dado que la
estimación es la base de todas las demás actividades de planificación del proyecto y sirveestimación es la base de todas las demás actividades de planificación del proyecto y sirve
como guía para una buena Ingeniería Sistemas y Software.como guía para una buena Ingeniería Sistemas y Software.
4. PRINCIPIO DEL ANÁLISISPRINCIPIO DEL ANÁLISIS
• Es un conjunto de acciones estimadas para alcanzar un objetivo determinado. Para ello,Es un conjunto de acciones estimadas para alcanzar un objetivo determinado. Para ello,
deben desarrollarse bajo el paraguas de una estrategia alineada con la de la empresa.deben desarrollarse bajo el paraguas de una estrategia alineada con la de la empresa.
• El análisis y la especificación de los requisitos pueden parecer dos tareas bastantes simples,El análisis y la especificación de los requisitos pueden parecer dos tareas bastantes simples,
pero requieren un flujo de comunicación y de interacción con el cliente de forma efectiva quepero requieren un flujo de comunicación y de interacción con el cliente de forma efectiva que
permita evitar las malas interpretaciones y la falta de información.permita evitar las malas interpretaciones y la falta de información.
• El análisis de requisititos del software puede dividirse en 5 áreas fundamentales:El análisis de requisititos del software puede dividirse en 5 áreas fundamentales:
• Reconocimiento del problemaReconocimiento del problema
• Evaluación y síntesisEvaluación y síntesis
• ModeladoModelado
• EspecificaciónEspecificación
• RevisiónRevisión
5. ANÁLISIS ORIENTADO A OBJETOSANÁLISIS ORIENTADO A OBJETOS
• El análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de softwareEl análisis y diseño orientado a objetos (ADOO) es un enfoque de la ingeniería de software
que modela un sistema como un grupo de objetos que interactúan entre sí. Este enfoqueque modela un sistema como un grupo de objetos que interactúan entre sí. Este enfoque
representa un domino absoluto en términos de conceptos compuestos por verbos y sustantivos,representa un domino absoluto en términos de conceptos compuestos por verbos y sustantivos,
clasificados de acuerdo a su dependencia funcional. Todo sistema de información requiere declasificados de acuerdo a su dependencia funcional. Todo sistema de información requiere de
artefactos o componentes (clases) para llevar a cabo tareas, es de gran importancia dentro de laartefactos o componentes (clases) para llevar a cabo tareas, es de gran importancia dentro de la
ingeniería de software tener un buen "análisis y diseño" para un mejor desarrollo, que conllevaingeniería de software tener un buen "análisis y diseño" para un mejor desarrollo, que conlleva
a que tan "escalable" sea un sistema de información.a que tan "escalable" sea un sistema de información.
• En este método de análisis y diseño se crea un conjunto de modelos utilizando una notaciónEn este método de análisis y diseño se crea un conjunto de modelos utilizando una notación
acordada como, por ejemplo, el lenguaje unificado de modelado (UML).acordada como, por ejemplo, el lenguaje unificado de modelado (UML).
• ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para unADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un
contexto (por ejemplo, un sistema de negocio, un conjunto de módulos de software) y paracontexto (por ejemplo, un sistema de negocio, un conjunto de módulos de software) y para
diseñar una solución para mejorar los procesos involucrados.diseñar una solución para mejorar los procesos involucrados.
• No está restringido al diseño de programas de computadora, sino que cubre sistemasNo está restringido al diseño de programas de computadora, sino que cubre sistemas
enteros de distinto tipo. Las metodologías de análisis y diseño más modernas son "casos deenteros de distinto tipo. Las metodologías de análisis y diseño más modernas son "casos de
uso" guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.uso" guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.
6. METODOLOGÍA DE ANÁLISIS DEMETODOLOGÍA DE ANÁLISIS DE
REQUERIMIENTOREQUERIMIENTO
• Para entender mejor las técnicas que son utilizadas para llevar a cabo el análisis de requerimientos, hay que diferenciar 4
grandes perspectivas sobre las cuales se puede llevar a cabo este proceso.
• Descomposición funcional
• Esta estrategia consiste en definir el comportamiento requerido (requerimientos) como una relación entre entradas y salidas
de software. Se procede idealmente con una estructura top-down (arriba hacia abajo), identificando primero la funcionalidad
del sistema como un todo. Después se procede a descomponer esta funcionalidad en un conjunto de funciones y
subfuncionalidades. El resultado es una estructura jerárquica y de las funciones o funcionalidades y la definición de las
interfaces funcionales. La ventaja de la descomposición funcional es que la especificación es escrita en el lenguaje y concepto
de quienes implementan. Esto fomenta una buena comunicación de los requerimientos hacia los diseñadores y codificadores.
La traducción al diseño y la codificación es sencilla debido a que la especificación de los requerimientos está escrita en
términos del espacio de la solución que se necesita.
• Análisis Estructurado
• Este modelo está basado en la premisa que expone que las dificultades accidentales pueden ser enfrentadas con una
aproximación sistemática del análisis del problema usando: • Un modelo conceptual común para describir todos los
problemas. • Un conjunto de procedimientos que sugieran la dirección general del análisis y brinden un orden de pasos para el
mismo. • Una serie de pautas o soporte heurístico de decisiones acerca del problema y su especificación. • Una serie de
criterios para evaluar la calidad del producto66. Dentro de las prácticas comunes del análisis estructurado están los diagramas
de flujo y los diccionarios de datos. Para tratar los problemas de comunicación y comprensión del espacio del problema, este
tipo de herramientas utilizan un conjunto de estructuras conceptuales –una representación gráfica de la especificación en
términos de de estas estructuras- basándose en la hipótesis que la descomposición del problema en términos de datos que el
sistema maneja será más clara y menos inclinada al cambio que otra basada en las funciones que el sistema debe realizar.
Está técnica ha evolucionado y es ampliamente utilizada dentro del análisis de requerimientos pero también es criticada
debido a sus falencias. Uno de los aspectos más criticados es que este tipo de análisis no provee suficiente asistencia ni guías.
7. • Los analistas tienen dificultad para decidir las partes del problema que deben ser modeladas y cómo deben ser modeladas. PorLos analistas tienen dificultad para decidir las partes del problema que deben ser modeladas y cómo deben ser modeladas. Por
otro lado, mientras los pasos del proceso están definidos a grosso modo, las demás acciones que se deben seguir en el proceso sonotro lado, mientras los pasos del proceso están definidos a grosso modo, las demás acciones que se deben seguir en el proceso son
muy generales y difíciles de llevar a cabo, en especial si se aplican métodos heurísticos para obtener resultados. Esto conlleva amuy generales y difíciles de llevar a cabo, en especial si se aplican métodos heurísticos para obtener resultados. Esto conlleva a
pensar que el análisis estructurado no facilita la formulación de un SRS (Software Requirement Specification) o documento depensar que el análisis estructurado no facilita la formulación de un SRS (Software Requirement Specification) o documento de
especificación de requerimientos de software que sea claro y con los atributos suficientes para satisfacer a todos los participantesespecificación de requerimientos de software que sea claro y con los atributos suficientes para satisfacer a todos los participantes
del proyecto.del proyecto.
• Especificación OperacionalEspecificación Operacional
• Este modelo se enfoca principalmente en solucionar dos de los dilemas más importantes que rodean a los requerimientos. ElEste modelo se enfoca principalmente en solucionar dos de los dilemas más importantes que rodean a los requerimientos. El
primero, es que las personas que están involucradas en el proceso de desarrollo no saben que desean construir, sino hasta que loprimero, es que las personas que están involucradas en el proceso de desarrollo no saben que desean construir, sino hasta que lo
construyen. El segundo dilema, es el problema que se encuentra inmerso en el paso que implica pasar de una especificación deconstruyen. El segundo dilema, es el problema que se encuentra inmerso en el paso que implica pasar de una especificación de
requerimientos a un diseño que satisfaga esa especificación. Entre más cercana esté la especificación del diseño, mejor y más fácilrequerimientos a un diseño que satisfaga esa especificación. Entre más cercana esté la especificación del diseño, mejor y más fácil
será la transición entre estas actividades, pero así mismo entre más cercanas son, las decisiones de diseño se convierten enserá la transición entre estas actividades, pero así mismo entre más cercanas son, las decisiones de diseño se convierten en
decisiones prematuras.decisiones prematuras.
• Los elementos claves para una especificación operacional son:Los elementos claves para una especificación operacional son:
• Un lenguaje de especificación formal.Un lenguaje de especificación formal.
• Un motor que permita obtener especificaciones correctas escritas en el lenguaje ya mencionado. Esta aproximación tambiénUn motor que permita obtener especificaciones correctas escritas en el lenguaje ya mencionado. Esta aproximación también
debería incluir un soporte automatizado para el análisis de las propiedades de la especificación formal y métodos para trasformardebería incluir un soporte automatizado para el análisis de las propiedades de la especificación formal y métodos para trasformar
dicha especificación en su correspondiente implementación.dicha especificación en su correspondiente implementación.
• Análisis Orientado a ObjetosAnálisis Orientado a Objetos
• Este modelo basa sus principios en realizar modelos de la información y el diseño orientado a objetos. Las técnicas del AOOEste modelo basa sus principios en realizar modelos de la información y el diseño orientado a objetos. Las técnicas del AOO
(análisis orientado a objetos) difieren del análisis estructurado en la forma en que se descomponen los problemas en sus partes, y(análisis orientado a objetos) difieren del análisis estructurado en la forma en que se descomponen los problemas en sus partes, y
los métodos a través de los cuales se descubren las relaciones entre dichas partes. En este enfoque, el analista descompone ellos métodos a través de los cuales se descubren las relaciones entre dichas partes. En este enfoque, el analista descompone el
problema en un conjunto de objetos que interactúan entre sí, basados en las entidades y relaciones que existen en el dominio delproblema en un conjunto de objetos que interactúan entre sí, basados en las entidades y relaciones que existen en el dominio del
problema. Un objeto encapsula un conjunto de datos, procesos y estados relacionados. En general, los componentes del AOO sonproblema. Un objeto encapsula un conjunto de datos, procesos y estados relacionados. En general, los componentes del AOO son
los objetos, sus datos y servicios que prestan, y las relaciones que tienen con otros objetos.los objetos, sus datos y servicios que prestan, y las relaciones que tienen con otros objetos.
• Este método representa muy bien el comportamiento del dominio de la aplicación que se desea realizar, pero no es soportado porEste método representa muy bien el comportamiento del dominio de la aplicación que se desea realizar, pero no es soportado por
un modelo conceptual que muestre el comportamiento del dominio del negocio. Otro serio problema, es que la generalidad de estaun modelo conceptual que muestre el comportamiento del dominio del negocio. Otro serio problema, es que la generalidad de esta
aproximación se desvía más en el desarrollo de la aplicación y no permite concluir el objetivo específico de obtener un SRSaproximación se desvía más en el desarrollo de la aplicación y no permite concluir el objetivo específico de obtener un SRS
8. MÉTODO DE ANÁLISIS ORIENTADO ALMÉTODO DE ANÁLISIS ORIENTADO AL
FLUJO DE DATOSFLUJO DE DATOS
• La información se transforma como un flujo a través de un sistema basado en computadora.El sistema acepta entrada de
distintas formas; aplica un hardware, software y elementos humanos para transformarla entrada en salida; y produce una salida
en distintas formas. La entrada puede ser una señal de control transmitida por un transductor, una serie de números escritos
por un operador humano, un paquete de información transmitido por un enlace a red, o un voluminoso archivo de datos
almacenado en memoria secundaria. La transformación puede comprender una sencilla comparación lógica, un complejo
algoritmo numérico, o un método de inferencia basado en regla de un sistema experto. La salida puede encender un sencillo
led o producir un informe de 200 páginas. En efecto, un modelo de flujo de datos puede aplicarse a cualquier sistema basado
en computadora independientemente del tamaño o complejidad.
• Una técnica para representar el flujo de información a través del sistema basado en computadora se
ilustra en la figura 4. La función global del sistema se representa como una transformación sencilla de la información,
representada en la figura como una burbuja. Una o más entradas. Representadas como flechas con etiqueta, conducen la
transformación para producir la información de salida. Puede observarse que el modelo puede aplicarse a todo el sistema o
solo a un elemento de software. La clave es representar la información dada y producida por la transformación.
9. DESARROLLO DEL SISTEMA ESTRUCTURADODESARROLLO DEL SISTEMA ESTRUCTURADO
DE DATOSDE DATOS
• Hemos ya observado que el dominio de la información para un problema de software comprende el flujo de datos, elHemos ya observado que el dominio de la información para un problema de software comprende el flujo de datos, el
contenido de datos y la estructura de datos. Los métodos de análisis orientados a la estructura de datos representan loscontenido de datos y la estructura de datos. Los métodos de análisis orientados a la estructura de datos representan los
requerimientos del software enfocándose hacia la estructura de datos en vez de al flujo de datos. Aunque cada métodorequerimientos del software enfocándose hacia la estructura de datos en vez de al flujo de datos. Aunque cada método
orientado a la estructura de datos tiene un enfoque y notación distinta, todos tienen algunas características en común: 1) todosorientado a la estructura de datos tiene un enfoque y notación distinta, todos tienen algunas características en común: 1) todos
asisten al analista en la identificación de los objetos de información clave (también llamados entidades o ítems) y operacionesasisten al analista en la identificación de los objetos de información clave (también llamados entidades o ítems) y operaciones
(también llamadas acciones o procesos); 2)todos suponen que la estructura de la información es jerárquica; 3)todos requiere(también llamadas acciones o procesos); 2)todos suponen que la estructura de la información es jerárquica; 3)todos requiere
que la estructura de datos se represente usando la secuencia, selección y repetición; y 4) todos dan una conjunto de pasos paraque la estructura de datos se represente usando la secuencia, selección y repetición; y 4) todos dan una conjunto de pasos para
transformar una estructurade datos jerárquica en una estructura de programa.transformar una estructurade datos jerárquica en una estructura de programa.
• Como los métodos orientados al flujo de datos, los métodos de análisis orientados a la estructura dedatos proporcionan laComo los métodos orientados al flujo de datos, los métodos de análisis orientados a la estructura dedatos proporcionan la
base para el diseño de software. Siempre puede extenderse un método deanálisis para que abarque el diseño arquitectural ybase para el diseño de software. Siempre puede extenderse un método deanálisis para que abarque el diseño arquitectural y
procedimental del software.procedimental del software.
10. DESARROLLO DEL SISTEMA JACKSONDESARROLLO DEL SISTEMA JACKSON
• El desarrollo de sistema de Jackson (DSJ) se obtuvo a partir del trabajo de M.A. Jackson sobre el análisis del dominio de laEl desarrollo de sistema de Jackson (DSJ) se obtuvo a partir del trabajo de M.A. Jackson sobre el análisis del dominio de la
información y sus relaciones con el diseño de programas y sistemas. En palabras de Jackson: “El que desarrolla el softwareinformación y sus relaciones con el diseño de programas y sistemas. En palabras de Jackson: “El que desarrolla el software
comienza creando un modelo de la realidad a la que se refiere el sistema, la realidad que proporciona su materia objeto [delcomienza creando un modelo de la realidad a la que se refiere el sistema, la realidad que proporciona su materia objeto [del
sistema]...”sistema]...”
• Para construir un DSJ el analista aplica los siguientes pasos:Para construir un DSJ el analista aplica los siguientes pasos:
• Paso de las acciones y entidades. Usando un método muy similar a la técnica de análisis orientada al objeto, en este pasoPaso de las acciones y entidades. Usando un método muy similar a la técnica de análisis orientada al objeto, en este paso
se identifican las entidades (persona, objetos u organizaciones que necesita un sistema para producir o usar información) yse identifican las entidades (persona, objetos u organizaciones que necesita un sistema para producir o usar información) y
acciones (los sucesos que ocurren en el mudo real que afectan a las entidades).acciones (los sucesos que ocurren en el mudo real que afectan a las entidades).
• Paso de estructuración de las entidades. Las acciones que afectan a cada entidad son ordenadas en el tiempo y representadasPaso de estructuración de las entidades. Las acciones que afectan a cada entidad son ordenadas en el tiempo y representadas
mediante diagramas de Jackson (una notación similar a un árbol).mediante diagramas de Jackson (una notación similar a un árbol).
• Paso de modelación inicial. Las entidades y acciones se representan como un modelo del proceso; se definen las conexionesPaso de modelación inicial. Las entidades y acciones se representan como un modelo del proceso; se definen las conexiones
entre el modelo y el mundo real.entre el modelo y el mundo real.
• Paso de las funciones. Se especifican las funciones que corresponden alas acciones definidas.Paso de las funciones. Se especifican las funciones que corresponden alas acciones definidas.
• Paso de temporización del sistema. Se establecen y especifican las características de planificación del proceso.Paso de temporización del sistema. Se establecen y especifican las características de planificación del proceso.
• Paso de implementación. Se especifica el hardware y software como un diseño.Paso de implementación. Se especifica el hardware y software como un diseño.
• Los últimos tres pasos del DSJ están muy relacionados con el diseño de sistemas.Los últimos tres pasos del DSJ están muy relacionados con el diseño de sistemas.
11. METODOLOGÍAMETODOLOGÍA DE PROGRAMACIÓN –
ORIENTADO A OBJETO
• Con el objetivo de llenar ese vacío que ha dejado la bibliografía y con el propósito de coadyuvar en el mejoramiento de la
enseñanza-aprendizaje de la programación de computadoras, he desarrollado esta metodología de la programación orientada a
objetos. La metodología se divide en dos partes; en la primera parte, que abarca del capítulo uno al siete, se estudia la técnica
seudocódigo y su uso en el diseño de algoritmos pequeños que tienen una sola tarea o función, por tanto, se establece el uso de
una clase y dentro de la clase el método principal, donde se plasma la lógica que soluciona el problema. En esta primera parte
se da énfasis al desarrollo de la lógica básica de la programación usando seudocódigo. Se estudian los tipos de datos,
identificadores, operaciones de entrada, cálculo y salida. Las estructuras de control: La secuenciación; la selección simple (if
then), doble (if then else) y múltiple (switch); la repetición do…while, la repetición for y la repetición while. Los arreglos
unidimensionales, bidimensionales, tridimensionales y tetradimensionales. Y por último de esta primera parte, se estudia
cómo usar más de un método en la clase, en problemas que involucran a más de una tarea o función, métodos que no regresan
valor (equivalente a módulos en la programación estructurada), métodos que regresan valor (equivalentes a funciones
definidas por el usuario en la programación estructurada), parámetros por valor y por referencia. Este autor tiene la convicción
de que el estudiante debe desarrollar las bases lógicas de la programación; es por ello, que esta primera parte es lo que se
estudia o estudiaba en un primer curso de lógica de programación con técnicas estructuradas, pero enfocando la estructura del
algoritmo en forma apropiada a la programación orientada a objetos; usando una clase y dentro de la clase el método
principal, entrenando a los estudiantes para que desarrollen las bases lógicas de la programación de computadoras.
• El algoritmo tiene una clase; en la cual se tienen cuatro métodos. El método principal, en el que se define la variable
vector, como un arreglo de 10 elementos; y la variable promedio. Enseguida llama al método leerVector(vector), enviando
vector como parámetro y conectándolo con el parámetro por referencia vec; en el cual lee los 10 números. Luego llama al
método calcularMedia(vector) enviando vector como parámetro y conectándolo con el parámetro v; del cual calcula la media
y la devuelve para colocarla en promedio. A continuación llama imprimirVector(vector) enviando vector como parámetro y
conectándolo con el parámetro vect; el cual imprime. Y finalmente imprime el promedio. En la segunda parte de la
metodología, que abarca del capítulo ocho al dieciséis, es donde se estudian de lleno los conceptos de la programación
orientada a objetos, integrándolos con el concepto de diagrama de clases de UML (Unified Modeling Language), con la
arquitectura modelo-vista-controlador, con las estructuras estudiadas en los primeros nueve capítulos y la incorporación de los
conceptos de la programación orientada a objetos en la técnica seudocódigo, logrando una metodología de la programación
que permite diseñar algoritmos orientados a objetos.
12. • Lo relevante del método es que enseña a programar computadoras utilizando un seudolenguaje (seudocódigo), es decir, sinLo relevante del método es que enseña a programar computadoras utilizando un seudolenguaje (seudocódigo), es decir, sin
utilizar la computadora directamente. Esto permite desarrollar las capacidades mentales lógicas que una persona debe tenerutilizar la computadora directamente. Esto permite desarrollar las capacidades mentales lógicas que una persona debe tener
para programar computadoras y sienta las bases de disciplina y buena estructura. Este enfoque se le dificulta a mucha gente,para programar computadoras y sienta las bases de disciplina y buena estructura. Este enfoque se le dificulta a mucha gente,
sin embargo, hay que enfrentarlo, porque siendo la programación una actividad intelectual que requiere mucha creatividad,sin embargo, hay que enfrentarlo, porque siendo la programación una actividad intelectual que requiere mucha creatividad,
capacidades de abstracción, de análisis, y de síntesis; éstas no se pueden desarrollar operando un lenguaje en la computadora,capacidades de abstracción, de análisis, y de síntesis; éstas no se pueden desarrollar operando un lenguaje en la computadora,
sino ejercitando la mente con una metodología apropiada. A continuación se presenta un ejemplo, para mostrar una ideasino ejercitando la mente con una metodología apropiada. A continuación se presenta un ejemplo, para mostrar una idea
general de cómo se usa la segunda parte de la metodología en la solución de una aplicación. Problema 2: En cierta empresa segeneral de cómo se usa la segunda parte de la metodología en la solución de una aplicación. Problema 2: En cierta empresa se
tienen empleados; los empleados se dividen en dos tipos: empleados por horas, a los que se les paga de acuerdo al número detienen empleados; los empleados se dividen en dos tipos: empleados por horas, a los que se les paga de acuerdo al número de
horas trabajadas y a una cuota que se les paga por hora. El otro tipo son los empleados asalariados, a quienes se les paga dehoras trabajadas y a una cuota que se les paga por hora. El otro tipo son los empleados asalariados, a quienes se les paga de
acuerdo a un sueldo fijo mensual. Por cada empleado se tienen los datos: Nombre, Departamento, Puesto; si es empleado poracuerdo a un sueldo fijo mensual. Por cada empleado se tienen los datos: Nombre, Departamento, Puesto; si es empleado por
horas, el número de horas que trabajó y la cuota que se le paga por hora; si es empleado asalariado, el sueldo mensual que sehoras, el número de horas que trabajó y la cuota que se le paga por hora; si es empleado asalariado, el sueldo mensual que se
le paga.le paga.
• Elaborar un algoritmo que permita leer los datos de los empleados e imprimir el nombre y el sueldo quincenal de cadaElaborar un algoritmo que permita leer los datos de los empleados e imprimir el nombre y el sueldo quincenal de cada
empleado. A continuación se tiene la solución en dos partes: En la primera, se diseña el diagrama de clases, que contiene laempleado. A continuación se tiene la solución en dos partes: En la primera, se diseña el diagrama de clases, que contiene la
estructura general del programa (algoritmo); y después, en la segunda parte, se diseña el algoritmo que contiene la lógica queestructura general del programa (algoritmo); y después, en la segunda parte, se diseña el algoritmo que contiene la lógica que
soluciona el problema usando pseudocódigo.soluciona el problema usando pseudocódigo.
13. ANÁLISIS DE LENGUAJES ORIENTADO A
OBJETOS
• Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación
orientada a objetos.
• Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para
definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin
embargo, no invalidar su definición como lenguaje orientado a objetos.
• Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema
orientado a objetos: los tipos de datos abstractos.
• Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos
de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos.
• Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación
orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X
utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero
organizando el código en una manera que "parecen objetos" (los Widgets).
14. FUNDAMENTOS DE PROGRAMACIÓN
ORIENTADA A OBJETO
• La programación hoy en día se ha dividido en 2 partes, una es la programación en base a código simple (esta puede ser enLa programación hoy en día se ha dividido en 2 partes, una es la programación en base a código simple (esta puede ser en
cualquier lenguaje de programación) en donde solo se usan lineas de programación para que el software manipule diversoscualquier lenguaje de programación) en donde solo se usan lineas de programación para que el software manipule diversos
datos y posteriormente el usuario manipula el software con más lineas de programación para que se entreguen nuevosdatos y posteriormente el usuario manipula el software con más lineas de programación para que se entreguen nuevos
resultados.resultados.
• La segunda es la programación orientada a objetos, esta es la más común actualmente, se basa en la manipulación de datos,La segunda es la programación orientada a objetos, esta es la más común actualmente, se basa en la manipulación de datos,
objetos, patrones y cualquier elemento programable dentro de un software, su fin básicamente es que la programación que seobjetos, patrones y cualquier elemento programable dentro de un software, su fin básicamente es que la programación que se
asigne pueda interactuar con uno o varios objetos determinados y de esta manera poder tener un entorno interactivo queasigne pueda interactuar con uno o varios objetos determinados y de esta manera poder tener un entorno interactivo que
obedezca las ordenes de un usuario con un simple clic y sin tener que escribir más lineas dentro del código base. Laobedezca las ordenes de un usuario con un simple clic y sin tener que escribir más lineas dentro del código base. La
programación orientada a objetos permite agrupar partes específicas de la información dada a un grupo de objetos, porprogramación orientada a objetos permite agrupar partes específicas de la información dada a un grupo de objetos, por
ejemplo se puede realizar un programa en el cual se asigne un botón para que se ingrese una imagen, dicho botón debe servirejemplo se puede realizar un programa en el cual se asigne un botón para que se ingrese una imagen, dicho botón debe servir
para abrir un directorio y obtener la imagen, tras este botón hay varias lineas de código que esperan el momento en que separa abrir un directorio y obtener la imagen, tras este botón hay varias lineas de código que esperan el momento en que se
obtenga la imagen para proceder con la siguiente acción o instrucción.obtenga la imagen para proceder con la siguiente acción o instrucción.
• Definición de planificación de proyecto de software, Principio del análisis, Análisis orientado a objetos, Metodología deDefinición de planificación de proyecto de software, Principio del análisis, Análisis orientado a objetos, Metodología de
análisis de requerimiento, Método de análisis orientado al flujo de datos, Desarrollo del sistema estructurado de datos,análisis de requerimiento, Método de análisis orientado al flujo de datos, Desarrollo del sistema estructurado de datos,
Desarrollo del sistema Jackson, Metodología de programación – orientado a objeto, Análisis de lenguajes orientado aDesarrollo del sistema Jackson, Metodología de programación – orientado a objeto, Análisis de lenguajes orientado a
objetos,Fundamentos de programación orientada a objeto.objetos,Fundamentos de programación orientada a objeto.
15. CONCLUSIÓNCONCLUSIÓN
• La elaboración de esta presentación,La elaboración de esta presentación, nos ayudó a aprender y a desarrollar nuestros conocimientos sobre los fundamentos ynos ayudó a aprender y a desarrollar nuestros conocimientos sobre los fundamentos y
métodos de análisis de requerimiento, la cual encierra un conjunto de actividades y una de las cuales es estimar es echar unmétodos de análisis de requerimiento, la cual encierra un conjunto de actividades y una de las cuales es estimar es echar un
vistazo al futuro y aceptamos resignados cierto grado de incertidumbre. Aunque la estimación, es mas un arte que una Cienciavistazo al futuro y aceptamos resignados cierto grado de incertidumbre. Aunque la estimación, es mas un arte que una Ciencia
para que en un futuro, tengamos una mejor noción a la hora de realizar dicho proyecto, y la forma correcta para desarrollarlo,para que en un futuro, tengamos una mejor noción a la hora de realizar dicho proyecto, y la forma correcta para desarrollarlo,
de esta manera tenemos un idea más clara de nuestros objetivos planteados a la hora de fijarnos unas metas, sobre como serde esta manera tenemos un idea más clara de nuestros objetivos planteados a la hora de fijarnos unas metas, sobre como ser
más exitoso y si es viable o no aventurarse a la implantación de un proyecto a un problema específico tomando en cuenta lamás exitoso y si es viable o no aventurarse a la implantación de un proyecto a un problema específico tomando en cuenta la
inversión en ideas, tecnologías o metodología que habría que aplicar al planteamiento de un problema tendiente a resolver.inversión en ideas, tecnologías o metodología que habría que aplicar al planteamiento de un problema tendiente a resolver.
• Considerando que el análisis de requerimientos no es más que el conjunto de técnicas y procedimientos que nos permitenConsiderando que el análisis de requerimientos no es más que el conjunto de técnicas y procedimientos que nos permiten
conocer los elementos necesarios para definir un proyecto de software, que un esfuerzo planificado, temporal y único,conocer los elementos necesarios para definir un proyecto de software, que un esfuerzo planificado, temporal y único,
realizado para crear productos o servicios.realizado para crear productos o servicios.