sábado, 8 de diciembre de 2007
4.1 Clasificación del software.
Como nuestro profesor de preparatoria dijera: “Es todo aquel elemento que se puede ver pero no tocar dentro de una computadora”, aunque claro, este concepto no es suficiente para aclarar todo lo que encierra esta palabra.
En realidad, el software es quien determina la tarea a realizar por la computadora, esto se debe a que en él están contenidas las instrucciones para ejecutar las operaciones necesarias, son los que les dicen a los componentes físicos de la maquina que deben hacer.
Bien, ya aclarado el punto anterior prosigo.
El software se divide básicamente en dos grandes categorías, pero dentro de cada una de ellas estan otras especificaciones que delimitan a la infinidad de programas que corren actualmente.Tenemos al software de sistema y al software de aplicación.
4.1.1 Software del sistema.
4.1.2 Software de aplicación.
- Aplicaciones de negocios.
- Aplicaciones de utilerías.
- Aplicaciones personales.
- Aplicaciones de entretenimiento.
Las aplicaciones de negocios son de las más utilizadas, ya que no solo abarca el ámbito de los negocios, sino que también se orienta hacia las escuelas de casi cualquier nivel. Estas aplicaciones son muy útiles ya que agilizan el trabajo, porque los errores no son del todo importantes ya que se pueden corregir fácilmente y no se observan en el resultado final. Para terminar rápido tenemos los procesadores de texto que nos permiten crear todo tipo de documentos de manera muy fácil y rápida, nos proporciona herramientas para darle formato, editar… todo esto para que tengan una presentación respetable. También están las hojas de cálculo que nos permiten generar redundantemente hojas de cálculo, facilitándonos formulas para que el proceso de realizar operaciones no se complique, el único “trabajo duro” sería introducir los datos. Por otro lado las bases de datos son de vital importancia en muchas empresas y escuelas, ya que por medio de estas podemos accesar a los datos que requiramos por muy específicos que sean
Generalizando, todas estas aplicaciones para negocios son las herramientas que se necesitan para entregar trabajos profesionales y para que el trabajo “de oficina” se facilite.
Las aplicaciones de utilería son todas aquellas aplicaciones que muchos no utilizan, pero que son muy importantes para el mantenimiento de las computadoras. Todo lo que tiene que ver con que la computadora no pierda su eficiencia, ya sea depurando errores, borrando archivos ineficientes, desfragmentando disco, escaneando errores de disco, o restaurando a un estado anterior.Es de vital de importancia que estas herramientas sean utilizadas, para que los problemas no se incrementen. La mayoría (si no es que todas) de estas herramientas se encuentran en los accesorios, en la parte de herramientas de sistema del menú inicio.
Las aplicaciones personales no son mas que las aplicaciones que ayudan a mantener un orden en la información que son “PERSONALES”, y que requieren estar a la mano siempre, así como actualizadas. Las más comunes son las que ordenan la agenda de direcciones, control de cheques, anotaciones propias, y el más comercial correo electrónico.
Las aplicaciones de entretenimiento no son más que la que tienen que ver con el ocio, como los videojuegos, los reproductores… son lo que hacen que la ida en la computadora no sea tan aburrida y llena de letras.
4.2.1 Definición de programa.
4.2.2 Definición de programación.
4.2.3 Definición de lenguaje de programación.
Lenguaje maquina, lenguaje de bajo nivel (ensamblador) y lenguaje de alto nivel.
Lenguaje máquina: Este es quizá el lenguaje más difícil de comprender para las personas, ya que su representación son únicamente numéricas, son cadenas y cadenas de dígitos binarios, es decir que únicamente acepta dos tipos de números, en este caso 0 y 1. Este lenguaje es el que la computadora comprende perfectamente, lo interpreta como instrucciones además que le especifican las posiciones de memoria implicadas en la operación; a estas se les denomina “instrucciones de máquina” o “código binario”. Pero bien, estas instrucciones variarán de máquina a máquina, ya que todo depende del hardware que contenga. De este lenguaje se habla mucho y en muchas ocasiones, los vemos hasta e imágenes, pero en realidad el usuario común no conoce en gran medida de él, pero tampoco le interesa.
Lenguajes de bajo nivel: El lenguaje de bajo nivel no es tan difícil como el lenguaje maquina, puesto que tiene la posibilidad de incluir texto en el código; aunque claro, al igual que el código de maquina dependerán del tipo de hardware que se encuentre dentro de una computadora. El lenguaje más conocido de este tipo es el llamado ensamblador y contiene una serie de instrucciones bien establecidas, a estas se les conoce como “nemotécnicos”.de estos existen una gran variedad, pero se conocen los que son de mayor uso, o los que son fácilmente tomados como referencia de ejemplo; dentro de estos tenemos los que permiten realizar operaciones matemáticas, por ejemplo: ADD, SUB, DIV que en español vendrían siéndola suma, la resta y la división. Esos son solo algunos.Aunque de cualquier manera las operaciones con nemotécnicos resultaría sencilla de comprender, es necesario que cando se trabaje con el lenguaje ensamblador posteriormente se traduzca al lenguaje maquina, ya que se requiere para que la computadora ejecute la instrucción de manera directa. En este proceso de traducción se encuentra el denominado programa fuente (que no es más que el lenguaje ensamblador) y el programa objeto (que el código ya traducido y con el que trabaja la maquina), que como ya había mencionado es de fácil entendimiento para la computadora.
Lenguajes de alto nivel: Son llamados así porque en cierta forma poseen algo de interactividad tanto con las computadoras como con el usuario, ya que son de fácil entendimiento para ambos, además que su escritura y diseño no depende del tipo de hardware que posea, por lo tano se generaliza su uso en cualquier computadora; es por esto que son los más utilizados por los programadores. El uso de este lenguaje puede ser muy accesible, aunque como todos requieren de una buena lógica. El modo de uso para estos no es de gran dificultad, ya que se pueden conseguir fácilmente manuales. En fin son muy eficientes y pueden llevarse a cualquier lugar y ejecutarse en cualquier maquina y el modo en que se opera no varía en gran medida.
4.3.1 Definición de datos.
4.3.2 Tipos de datos.
- > Numéricos
- > Lógicos.
- > Cadenas.
Estos no son más que los datos que se pueden introducir de manera textual, es decir que puede incluir texto, no importa que es lo que se introduzca para realizar operaciones, puesto que no implican el conteo de valores (aún incluyendo números), simplemente sirve para que el proceso de algún programa pueda ser explicado (por ejemplo).
4.4 Operadores, operandos y expresiones.
Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos para alcanzar un resultado, se clasifican en tres grupos:
Aritméticos, Relacionales y Lógicos.
+ Suma
- Resta
* Multiplicación
/ División Entera
Div División Entera
Mod Residuo
^ Exponenciación
Todos los operadores aritméticos no existen en todos los lenguajes de programación, por ejemplo, en Fortran no existen Div y Mod
El símbolo / se utiliza para la división real, y el operador Div representa la división entera
Operadores Relacionales: Permiten realizar comparaciones de valores de tipo numérico o carácter, estos operadores sirven para expresar las condiciones en los algoritmos y proporcionan resultados lógicos.
4.5 Prioridad de operadores, evaluación de expresiones.
En caso de coincidir varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha.
Determina el orden en que habrán de realizarse las operaciones en una expresión determinada.
Cuando se desea realizar una operación con baja prioridad por adelantado, debe agruparse a los operandos involucrados.
Los paréntesis tienen prioridad sobre el resto de las operaciones.
sábado, 17 de noviembre de 2007
2 - Tecnicas Basicas de Modelado de Objetos
En conclusión es Una serie de procedimientos para visualizar una serie de caracteristicas asignadas a un objeto
2.1- Definicion de Clases Atributos Metodos y Objetos
Una variable de tipo objeto no es un objeto completo, sino tan solo almacena la situación del objeto en la memoria del equipo. Esto es muy similar a lo que ocurre con las casas y las direcciones de dichas casas: la dirección calle Alcalá 950 es una dirección válida, pero no podemos mandar cartas a dicha dirección porque es…un descampado!!!
Lo mismo sucede con los objetos, podemos tener una variable para referirnos a objetos, pero la variable puede que no apunte a ningún objeto y por tanto no la puedo emplear para intentar acceder a un método o a un atributo del objeto referenciado por la variable, sencillamente porque no existe el objeto referenciado.
Una variable que no apunta a un objeto se asume que tiene un valor especial llamado null, e incluso podemos asignar el valor null a la variable:
Thread t = null;
Es por ello que se deben construir objetos y asignárselos a las referencias, usando la palabra clave new. new permite crear un objeto a partir de la descripción de la clase que le pasamos como argumento, por ejempo:
new Persona()
Conseguimos crear un objeto de la clase Persona, los paréntesis permiten especificar qué constructor estamos llamando al crear el objeto (veremos constructores más adelante).
Pero al crear un objeto persona como en el código anterior lo estamos creando como un objeto anónimo, es decir sin asignar el objeto a una variable de tipo referencia, desde la cuál poder referirnos al objeto y poder llamar a sus métodos y atributo, por ello lo más habitual será asignar el objeto a una variable como en: 0359
2.2 - El Modelo como resultado de la Abstraccion
Una parte del UML define, entonces, una abstracción con significado de un lenguaje para expresar otros modelos (es decir, otras abstracciones de un sistema, o conjunto de unidades conectadas que se organizan para conseguir un propósito). Lo que en principio puede parecer complicado no lo es tanto si pensamos que uno de los objetivos del UML es llegar a convertirse en una manera de definir modelos, no sólo establecer una forma de modelo, de esta forma simplemente estamos diciendo que UML, además, define un lenguaje con el que podemos abstraer cualquier tipo de modelo.
La forma como vemos el problema tiene una profunda influencia en forma como acometemos el problema y le damos solución al mismo. Si pensamos que el mundo esta compuesto de clases (Abstracciones de la realidad y de la solución del problema) y objetos (instancias de éstas abstracciones) que interactúan entre si para realizar una funcionalidad, así veremos el mundo. Este es precisamente al paradigma a que le apuesta UML: el modelo orientado a objetos. Si vemos la realidad como compuesta de procesos donde cada uno a su vez se puede descomponer en subprocesos entonces estamos concibiendo la realidad según el modelo estructurado y la arquitectura del sistema en desarrollo estará conformada de programas y subprogramas.
- Para modelar un sistema complejo no es suficiente un único modelo se requieren múltiples modelos donde cada uno representa una vista (aspecto) del sistema; estos modelos se complementan entre si. Esta es la razón de la existencia de varios diagramas en UML que modelan diferentes aspectos del sistema, desde las vistas lógicas y físicas del sistema hasta los aspectos dinámicos, estáticos y funcionales del mismo.
- Cualquier modelo puede ser representado con diferentes grados de precisión. La precisión se puede ver desde dos ópticas: La primera es el grado de detalle con que se representa un modelo; por ejemplo, si lo que se desea es razonar acerca de los requerimientos del sistema con un cliente o usuario final, se puede elaborar un diagrama de clases que muestra las clases, sus atributos y operaciones así como varios adornos(multiplicidad) en las relaciones; por otro lado, si lo que se desea es transmitir el diagrama de clases para que sea implementado en un DBMS (Data Base Management System, Sistema Administrador de Bases de Datos) por un programador, el diagrama con toda seguridad contendrá la visibilidad de las características (atributos y operaciones) de las clases, los tipos de datos de los atributos y las signaturas de las métodos de las clases. La segunda forma de ver la precisión de un modelo se refiere al nivel de abstracción, ese decir, a los detalles y la vista (porción del sistema o realidad) que presenta un modelo al lector; por ejemplo, en un sistema Bancario que maneja los retiros que hacen los clientes ya sea en un cajero automático o humano, el diagrama de clases contiene decenas de éstas; sin embargo las personas encargadas de desarrollar la interfaz de un cajero electrónico estarían interesadas en las clases necesarias para realizar el comportamiento del cajero y omiten el resto de clases del sistema.
- Los mejores Modelos están ligados a la realidad. El símbolo de un actor en un diagrama de casos de uso representa, de hecho, un actor en el sistema real; así como un componente en un diagrama de componentes representa un componente físico del software. Cada elemento de UML como una clase, objeto, estado, componente o nodo tiene su correspondencia con algún elemento conceptual o físico del mundo real.
2.3 - El Uml como una Herramienta de Modelado de Objetos
Un diagrama de casos de uso consta de los siguientes elementos:
Actor. Casos de Uso. Relaciones de Uso, Herencia y Comunicación.
Como ejemplo a la definición anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al sistema puede ser realizado por un Vendedor o bien por el Jefe de Local.
- Asociación
- Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple.
- Dependencia o Instanciación
- Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
- Generalización
- Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso («uses») o de Herencia («extends»).
- Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores).
- extends: Se recomienda utilizar cuando un caso de uso es similar a otro (características).
- uses: Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica.
- De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelamiento de clases, en donde esta la duda clásica de usar o heredar.
lunes, 12 de noviembre de 2007
2.4 - Planteamiento del problema.
Aquí es en donde se basa toda la parte fundamental de la estructuración del proyecto a realizar, porque es aquí donde se define y tienen en cuentan todos los aspectos y puntos que el programa debe de cubrir para satisfacción del cliente y su implementación del software.
Por eso a continuación de los pasos 2.4.1 y 2.4.2 se definen y se trata de adaptar la problemática que nosotros decidimos tomar para poder desempeñar nuestros conocimientos como desarrolladores e interpretación de la problemática del cliente al estado del software.
2.4.1. - Analizar El Enunciado Del Problema
Por lo cual el cliente nos dice que necesita un programa capaz de registrar un inventario total de la boutique, llevar apartados, crédito y ventas en efectivo. Todo esto mas, la extensión de un comprobante de pagos, ya fuese a contado o crédito.
2.4.2 - Identificar Funciones Del Sistema
Consiste en describir por escrito a nivel técnico los procedimientos relacionados con el programa y su modo de uso. También se debe documentar el programa para que sea más entendible.
¿Para quiénes son la documentación?
- Usuarios (Digitadores)
- Operadores
-Programadores
- Analistas de sistemas
Documentos que se elaboran: Manual de Usuario y Manual del Analista. A los usuarios se les elabora un manual de referencia para que aprendan a utilizar el programa. Esto se hace a través de capacitaciones y revisión de la documentación del manual de usuario. El manual del usuario no está escrito a nivel técnico sino al de los distintos usuarios previstos y explica en detalle cómo usar el programa: descripción de las tareas que realiza el programa, instrucciones necesarias para su instalación puesta en marcha y funcionamiento, recomendaciones de uso, menús de opciones, método de entrada y salida de datos, mensajes de error, recuperación de errores, etc.
domingo, 21 de octubre de 2007
2.5 - Analisis.
En esta problemática tenemos los puntos mas contemplados como en cualquier problemática de cualquier empresa que quiere dar un estupendo servicio de calidad y rapidez, por el ejemplo de tener una base de datos almacenados de los clientes que les consumen, el control de sus deudas, compras en fin en balance para poder tener en cuenta o consideración de sus movimientos así la empresa, todo depende de la problemática que se nos presente como en el caso nuestro solo tenemos que llevar el control uniforme del inventario y del costo de ventas y cobranza que se maneja a diarios para pode facilitar el proceso de inventario, mas frecuentemente.
2.5.1- Descubrir Objetos en el dominio del Problema.
- Codigo de barras
- Nombre ropa
- Descripción ropa
- Existencia ropa
- Precio ropa
- Clave
- Nombre accesorio
- Descripción accesorio
- Existencia accesorio
- Precio accesorio
- Nombre cliente
- Direccion
- Procedencia
- RFC
- Telefono(s)
- Fecha
- Folio
- Producto(s)
- Cantidad
- Precio unitario
- Precio total
- Importe
- Subtotal
- IVA
- Tipo de pago
- Total
- Inventario
2.5.2- Identificar atributos de los Objetos.
Códigos de identificación
Nombre ropa
BlusaDescripción ropa
Pantalón
Vestido
Falda
Jeans
ExistenciaMaterial
Tela
Talla
Color
Temporada
Cantidad en inventario
Precio ropa
Pecio distribuidor
Precio publico
Clave
Clave producto
Nombre accesorio
Dona
Diadema
Pulsera
Aretes
Collar
Descripción accesorio
Oro
Plata
Fantasía
Bañado en oro
Bañado en plata
Existencia accesorio
Cantidad en el inventario
Precio accesorios
Precio distribuidor
Precio publico
Nombre cliente
Apellido paterno
Apellido materno
Nombre(s)
Dirección
Calle o av. ntre
Numero
Colonia
Ciudad donde radica
Municipio
RFC
RFC
Telefono(s)
Casa
Celular
Alternativo
Fecha
Dia
Mes
Año
Hora
Folio
Numero de folio
Productos
Ropa
Accesorios
Cantidad
Ropa
Accesorios
Precio unitario
Precio ropa
Precio accesorio
Precio total
Precio unitario * cantidad
Importe
Importe
Subtotal
Subtotal
IVA
Precio total * 0.15
Tipo de pago
Contado
Crédito
Precio total
Precio total
Inventario
Existencia ropa
Existencia accesorios
2.5.3- Identificar métodos en los objetos.
Ropa
Vendida.
Apartada.
Dar de alta.
Dar de baja.
Accesorios.
Vendida.
Dar de alta.
Dar de baja.
Comunicaciones para las ventas.
Internet.
Contado.
Sistema de apartado.
Créditos.
Teléfono.
Contado.
Sistema de apartado.
Créditos.
Personal.
Contado.
Sistema de apartado.
Créditos.
Cliente.
Tipo de pago.
Bancario.
Efectivo.
Cheques.
2.6- Introducción al diseño de solución.
La primera solución la colocamos pues un personal mas, no caería nada mal. Pues el empleado tiene conocimientos técnicos y administrativos así uno podría encargarse de administrar las entradas y salidas de mercancías y el otro podría hacer inventarios del almacén.
La segunda pues ya seria obvio que deberíamos sistematizar las ventas, artículos, clientes y otros más, pues teniendo aun empleado con capacidades para manipular una computadora y saber lo básico. El ambiente seria agradable puesto el dueño solo vería lo que hay en caja y hacer el corte. Ya aprobado todas las factibilidades y viendo que cada una de las factibilidades se cumple se dispondrá a sistematizar la boutique.
Al sistematizar todo este problema y la boutique ampliaría sus mercado ya que retrasaría el tiempo de entrega, no perdería dinero, llevaría un control exacto de las entradas y salidas de mercancías y la información de cliente, entre otros. También podría ampliar su publicidad ya que al sistematizarlo y llevar su boutique al internet podría hacer vínculos para hacer publicidad, y hacer paginas destinadas ala venta de sus mercancías.
2.6.1- Representación Gráfica de una clase.
Un diagrama es sólo una proyección gráfica de los elementos que configuran un sistema.
Por ejemplo, se podrían tener cientos de clases en el diseño de un sistema de recursos humanos de una empresa, y nunca se podrá ver la estructura o el comportamiento de ese sistema mirando un gran diagrama con todas esas clases y relaciones. En cambio, sería preferible realizar varios diagramas, cada uno centrado en una vista. Así, podría crearse un diagrama de clases que incluyese clases como: Persona, Departamento y Oficina, agrupadas para formar el esquema de una base de datos. Probablemente, algunas de las clases mencionadas formarán parte de un diagrama de interacción que reasigne un objeto de la clase Persona a un objeto de la clase Departamento.
Como muestra este ejemplo, un mismo elemento de un sistema (como la clase Persona) puede aparecer muchas veces en el mismo diagrama o incluso en diagramas diferentes. Cada diagrama ofrece una vista diferente de los elementos que configuran el sistema.
Diagramas estructuralesLos diagramas estructurales representan la parte estática de un sistema y se denominan:
1. Diagramas de casos de uso.
miércoles, 19 de septiembre de 2007
Objetivo de Fundamentos de Programación
Concepto de Objeto
1.1 Reconocimiento de objetos y clases en el mundo real y la interacción entre ellos.
El comportamiento de un objeto: Es el conjunto de cosas que pueden hacer un objeto.
Ejemplos de objetos:
1.-[Calculadora]
Atributos: color, teclas, pantalla, volumen, sistema electrónico.
Comportamientos: suma, resta, multiplicación, división, entre otras operaciones matemáticas.
2.-[Cañón]
Atributos: color, plásticos, luz, cristales, ventiladores, circuitos.
Comportamientos: proyectar imágenes.
3.-[Helicóptero]
Atributos: hélices, metal, cristales, motor.
Comportamientos: volar, avanzar a gran velocidad, dar vueltas, bajar y subir, suspenderse en el aire.
4.-[Impresora]
Atributos: Carcasa, tintas, circuitos, motores electrónicos, hojas.
Comportamientos: Imprimir fotos, acetatos, hojas blancas.
5.-[Clima]
Atributos: Cobertura metálica, circuitos electrónicos, tubos, gas, rendijas, sistemas electrónicos.
Comportamientos: enfriar el ambiente.
1.2 La abstracción y el encapsulamiento como un proceso natural.
En parte por el encapsulamiento es simplemente aquello que recubre el exterior del objeto para que los procesos y ejecuciones sean ocultos y no visibles ante las personas.
1.3 La POO y la complejidad del software
La complejidad del dominio del problema: es en donde llevamos acabo la interacción entre desarrollador y usuario (cliente) en donde se tratan los términos y procesos que el usuario desea que el software ejecute o realice, pero en momentos el usuario puede tener poca o nula noción que saber explicarse y hacerse comprender por el desarrollador de software.
La dificultad de gestionar el proceso de desarrollo:
Aquí es en donde llevamos acabo el desarrollo de un software, es aquí donde surgen los problemas. El elaborar un sistema de software nuevo, es una gran cantidad de escritura, además de un grupo de desarrolladores, que se trate de hacer lo mas pequeño posible porque es aquí donde existen varios elementos que se exponen por diferentes desarrolladores. Si el grupo de desarrollo se manejan a distancia, es más el problema porque siempre existen comunicación complejas, ósea que existen comunicación compuestas por varios puntos de vistas diferentes. Que no pueden ser tratados muy específicamente por la distancia o dispersión de los desarrolladores.
La flexibilidad a través del software:
Esta es donde el desarrollador tiene todo una amplia gama de expresar todo lo que quiera que el programa ejecute. O tipos de abstracciones.
1.4 Conceptos del ciclo de vida del software
[Ciclo de vida del software – Modelo de Cascada]
1.4.1 Especificaciones de requerimientos
*Aclaración de de la solicitud: es el proceso donde se definen bien los términos de que es lo que el usuario desea en el programa.
* Estudio de factibilidad: Se debe determinar que el sistema solicitado sea factible de desarrollar; existen 3 aspectos relacionados con el estudio de factibilidad:
a) Factibilidad Técnica: esto es ver, cuales son las condiciones en que esta la empresa el equipo y el personal si los dos están alta mente calificados o si se debe invertir.
b) Factibilidad económica: esta parte es en donde comprobamos si la empresa tiene dinero como para invertir en la tecnología que se requiere y otros implementos, y saber si el beneficio de implementación de nueva tecnología será recuperada a corto o a largo plazo.
c) Factibilidad Operacional: esto es si el personal será capaz de manejar y administrar tanto la nueva tecnología según sea el caso o el software, o si existirá una resistencia por parte de alguna persona que se oponga al cambio evolutivo.
*Aprobación de la solicitud: al realizar el estudio de factibilidad en sus tres aspectos, y determinar que si pasan la calidad, se aprueba el proyecto y se comienza a la pronta realización del software.
Los analistas al trabajar con los empleados y administradores, deben estudiar los procesos de una empresa para dar respuesta a las siguientes preguntas clave:
¿Qué es lo que hace?
¿cómo se hace?
¿con qué frecuencia se presenta?
¿Qué tan grande es el volumen de transacciones o de decisiones?
¿Cuál es el grado de eficiencia con el que se efectúan las tareas?
¿Existe algún problema?
si existe un problema, ¿qué tan serio es?
si existe un problema, ¿cuál es la causa que lo origina?
1.4.2 Análisis Orientado a Objetos.
1.4.3 Diseño Orientado a Objetos.
1.4.4 Programación Orientada a Objetos, conceptos y características
Este es una en la que no es necesarios por cada vez que necesitemos crear un programa no necesitamos crear todas las líneas de códigos si no que podemos estructurar uno nuevo en base uno anterior esto es porque podemos reutilizar los códigos fuentes por decir así. Para ahorrar tiempo y tener ventajas.
Los principios en que se apoyan las tecnologías orientadas a objetos son:
Objetos como instancias de una clase
Métodos
Mensajes
Y las características que ayudan a definir un objeto son:
Encapsulamiento
Modularidad
Abstracción
Polimorfismo
1.5.1 Abstracción
1.5.2 Encapsulamiento
1.5.3 Modularidad
1.5.4 Jerarquía y herencia
Herencia es aquello que define una relación entre clases, en donde una clase comparte la estructura o comportamiento definido en una o más clases, en otras palabras es un compartimiento de atributos de un objeto de mayor jerarquía a uno de menor jerarquía.
1.5.5 Polimorfismo.
1.6 Historia de los paradigmas en el desarrollo del software.
También hay situaciones donde un paradigma resulta más apropiado que otro.
Los más comunes son el desarrollo en cascada, el desarrollo en espira’‘, el desarrollo por prototipos, el desarrollo incremental, el desarrollo en V y el desarrollo orientado a objetos. También existen modelo híbridos, los cuales combinan elementos de diferentes modelos según las necesidades existentes.
1.7 Beneficios del modelo de objetos y de la POO sobre otros paradigmas
En resumen, la programación orientada a objetos beneficia a los desarrolladores debido a que: Los programas son fáciles de diseñar debido a que los objetos reflejan elementos del mundo real.
Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.- Los objetos son unidades autocontenidas.
- La productividad se incrementa debido a que puede reutilizar el código.
- Los sistemas son fáciles de mantener y se adaptan a las cambiantes necesidades de negocios.
- Es más fácil crear nuevos tipos de objetos a partir de los ya existentes.
Simplifica los datos complejos. - Reduce la complejidad de la transacción.
- Confiabilidad.
- Robustez.
- Capacidad de ampliación.