Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACION
By. ING - Freddy MartínezORIENTADA
Bernal A OBJETOS.
FUNDAMENTOS DE
PROGRAMACION.
SOFTWARE
Def. 1
Ingeniería del Software es la aplicación práctica del conocimiento científico en el diseño y construcción de
programas de computadora y la documentación asociada requerida para desarrollar, operar y mantenerlos. Se
conoce también como desarrollo de software o producción de software.
ING. SOFTWARE
Def. 2
Ingeniería del software trata del establecimiento de los principios y métodos de la ingeniería a
fin de obtener software de modo rentable que sea fiable y trabaje en máquinas reales.
ING. SOFTWARE
Def. 3
La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación
(funcionamiento) y mantenimiento del software; es decir, la aplicación de ingeniería al software
ING. SOFTWARE
Def. 4
Es una disciplina que comprende todos los aspectos de la producción de software desde las etapas
iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza
Lenguajes de programación
1. Mantenibilidad. El software debe poder evolucionar para cumplir con las necesidades de cambio de los clientes.
2. Confiabilidad. El software debe ser fiable, seguro, no debe causar daños físicos o económicos en el caso de una falla del sistema.
3. Eficiencia. El software debe aprovechar al máximo los recursos del sistema.
4. Usabilidad. El software debe ser fácil de utilizar.
APLICACIONES
• Software de sistemas.
• Software de tiempo real.
• Software de gestión.
• Software de ingeniería y científico.
• Software empotrado.
• Software de PC’s.
• Software basado en Web.
• Software de IA.
Introducción a la programación orientada a
objetos (OOP)
Es un paradigma de programación que usa “objetos” y sus interacciones para diseñar
aplicaciones y programas de ordenador.
Esta técnica de programación incluye
Encapsulación
Modularidad
Polimorfismo, y
Herencia.
Conceptos de la OOP
Clase
Objeto
Instancia
Método
Paso de Mensaje
Herencia
Abstracción
Encapsulado
Polimorfismo
Clase (I)
Cambio de 90 rpm
piñón
frenar
Cambio de
cadencia 10 mph
Instancia
Objeto B
Objeto A
CambiaPinyon(ElMasPequenyo)
Tu bicleta
Tu
Abstracción
Las ‘Subclases’ son versiones más especializadas de una clase, que hereda
atributos y propiedades de las clases padres, y pueden introducir las suyas
propias.
Por ejemplo, la clase Perro podría tener las subclases Collie,
Chihuahua y GoldenRetriever.
En este caso, Lassie debería ser una instancia de Collie.
Suponga que la clase Perro define un método ladrar() y la propiedad
colorPelo. Cada una de sus subclases también lo heredarán. El
programador solo deberá escribir una sola vez el código.
Las subclases pueden alterar las propiedades tratadas.
Herencia Múltiple
Permite al programador tratar miembros de las clases derivadas como los miembros de
las clases padres.
(en OOP) Es la habilidad de los objetos a responder con llamadas a con el mismo
nombre, cada uno con un propiedades específicas, dependiendo de los tipos de datos de
la llamada.
Un método o un operador (tal y como +, - o *) puede estar asociado de forma abstracta a
varias situaciones diferentes.
La herencia puede originar sobreescritura.
Ejemplo el operador ‘+’ puede realizarse para varias funciones dependiendo de la
implementación para sumar enteros, sumar reales, concatenar listas, o concatenar
cadenas.
La mayoría de los lenguajes OOP soportan algún nivel de polimorfismo.
Diferencias entre C/C++ y Java (I)
// Hello.java
import java.applet.Applet;
import java.awt.Graphics;
ACTIVIDADES Y RESULTADOS
ACTIVIDADES COMUNES
• Especificación.
• Diseño e implementación .
• Validación .
• Evolución.
MODELOS
• Enfoque de Cascada
• Desarrollo Evolutivo
• Desarrollo Formal
• Desarrollo basado en la reutilización
MODELO INCREMENTAL
TAREA
GESTORES
CLIENTES
DESARROLLADORES
DESARROLLO