Upload
anderwrt
View
228
Download
0
Embed Size (px)
Citation preview
Software: conjunto de instrucciones que le dicen al hardware que hacer.
Lenguaje de programación: lenguaje que permite escribir un software.
Programa: representación de algún software en un lenguaje de programación específico.
SOFTWARE
Historia y Crisis Historia y Crisis del Softwaredel Software
Historia
Síntomas
Factores de Influencia
Posibles Causas
Desarrollo de software al final del siglo XXDesarrollo de software al final del siglo XX
2000
1998
1995
28%23% 49%
26%28% 46%
27%40% 33%
16%31% 53%
ÉxitoProblemáticoFracaso
Fuente: Standish Group Survey,
El proyecto se aborta o el sistema no se llega a utilizar
Desbordamiento de agendas o costes. Las funcionalidades no cubren las expectativas. Problemas funcionales
Proyecto realizado en el tiempo previsto, con los costes previstos, con la funcionalidad esperada y ofreciendo un funcionamiento correcto.
1994
Desarrollo de software al final del siglo XXDesarrollo de software al final del siglo XX
Fuente: Standish Group Survey,
1999. Muestra: 8.000 proyectos TIC
La mitad de los proyectos se cancelaba o doblaba las agendas
Uno de los principales problemas en el desarrollo de software de hoy, es que
muchos proyectos empiezan la programación tan pronto se definen y
concentran mucho de su esfuerzo en la escritura de código.
Últimamente el desarrollo de software se a ralentizado. El estudio de este
fenómeno es importante porque la existencia de software científico libre facilita
que cualquier laboratorio del mundo pueda desarrollar ciencia libre usando este
software como herramienta de trabajo.
Algunos “síntomas” que indican que el software se encuentra en un periodo de
crisis son:
Baja Calidad del Software.
Tiempo y Presupuesto Excedido.
Confiabilidad Cuestionable.
Altos Requerimientos de Personal para desarrollo y mantenimiento.
SINTOMASSINTOMAS
Para poder llevar el estado del proceso de software como un
estado de crisis, los críticos han destacado ciertas características
que han permitido esta postura del software respecto a otras
etapas de su corta historia. Algunos de esos factores son:
Aumento del poder computacional.
Reducción del costo del hardware.
Rápida obsolescencia de hardware y software.
FACTORES DE INFLUENCIAFACTORES DE INFLUENCIA
Aceptación de la computarización en las empresas.
Incremento en el número de usuarios de los sistemas de software.
Tipo de usuario no homogéneo aun en sistemas hechos a la
medida.
Personal desarrollado y mantenimiento diferente.
La magnitud del proyecto impacta en:
Tiempo costo y número de desarrolladores
Control administrativo y detalles técnicos
Aumento en el conocimiento del problema.
Cambios en el entorno:
Tecnológicos (Internet, redes, ERP, CRM, SCM).
Económicos (crisis económicas, globalización, etcétera).
Sociales (nuevas necesidades, costumbres nuevas, etcétera).
Hay varias razones que pueden ser propuestas como causa de la crisis. No
son mutuamente excluyentes; de hecho, es posible que la verdadera
causa sea una mezcla de todas ellas. Sin embargo, todas tienen en común
que son causadas por el método de valorar los avances científicos y el
mecanismo actual de financiación de la actividad científica. Las causas de
la crisis del software fueron vinculadas a la complejidad en general del
proceso de software y a la relativa inmadurez de la ingeniería de software
como una profesión. La crisis se manifestó a sí misma en varias maneras:
SIGNIFICADO DE ORIENTADO A OBJETOS
-El significado de Orientado a Objetos nace como un
conjunto de practicas que definen un estilo de
programación.
- Los seres humanos perciben el mundo como si estuviera
formado por objetos: mesas, sillas, computadoras, coches,
cuentas bancarias, etc. Donde conciente o
inconscientemente tienden a organizarlos, clasificarlos,
relacionarlos entre si, y hasta extraen las características
más importantes dependiendo de lo que quieren hacer con
ellas.
Vehículo
Animal
Figura
Introducción a la Programación Introducción a la Programación Orientado a Objetos (POO).Orientado a Objetos (POO).
POO
La POO es un estilo de programación, donde todos los elementos que
forman parte del problema se conciben como objetos, definiendo cuales
son sus atributos y comportamiento, como se relacionan entre sí y como
están organizadas.
Estructura Interna de un Objeto:
Atributos: Define el estado del objeto
Métodos: Define el comportamiento del objeto
CARACTERÍSTICAS DE LA CARACTERÍSTICAS DE LA METODOLOGIA POOMETODOLOGIA POO
· Encapsulación: Significa que en una clase se declaran los tipos de datos y el medio de manipularlos (sus métodos).
· Herencia: Supone crear clases derivadas de otras existentes, que heredan sus tipos y métodos y pueden contener otros nuevos. Si una nueva clase hereda propiedades de más de una antecesora, se denomina herencia múltiple. Sin embargo, no todos los lenguajes orientados a objetos lo permiten.
· Polimorfismo: La programación de funciones o procedimientos que ejecutarán acciones que dependerán de los objetos sobre los que se apliquen.
Fomenta la reutilización y extensión del código.
Permite crear sistemas más complejos.
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
Lo interesante de la POO es que proporciona conceptos y herramientas con las
cuales se modela y representa el mundo real tan fielmente como sea posible.
VENTAJAS
METODOLOGIA ORIENTADA A OBJETOS
DESVENTAJASDESVENTAJAS
METODOLOGIA ORIENTADA A OBJETOSMETODOLOGIA ORIENTADA A OBJETOS
Complejidad para adaptarse
Mayor cantidad de Códigos
Exige conocer bien la teoría de objetos.
Requiere mayor capacidad de los
programadores.
Se establece métodos de Ingeniería centrado
en las funciones.
Programación Estructurada.
Análisis Estructurado
Especificaciones funcionales gráficas
Diseño estructurado Concepto de Módulos
CARACTERÍSTICAS CARACTERÍSTICAS METODOLOGÍA ESTRUCTURADAMETODOLOGÍA ESTRUCTURADA
CARACTERÍSTICASCARACTERÍSTICASMETODOLOGÍA ORIENTADA A OBJETOSMETODOLOGÍA ORIENTADA A OBJETOS
Centrado los datos
Procesos y Datos como conjunto
Identificación de atributos para ejecución
de un proceso.
CARACTERÍSTICASCARACTERÍSTICASDESARROLLO DESARROLLO
PARA LA EJECUCION EN TIEMPO REALPARA LA EJECUCION EN TIEMPO REAL
Manejo de interrupciones Comunicación y sincronización entre
tareas. Gestión de procesos concurrentes Respuesta oportuna ante eventos
externos. Datos continuos o discretos
Diseñado por:Diseñado por:Brenda P. Quiroz AnguloBrenda P. Quiroz AnguloAnderson Mazo PabónAnderson Mazo PabónKevin E. Gómez VargasKevin E. Gómez VargasJuan Carlos Martínez MorenoJuan Carlos Martínez Moreno
Tec. Programación de SoftwareTec. Programación de Softwarepresentado al Ing. Luis Fran Cardozopresentado al Ing. Luis Fran CardozoBarranquilla, Diciembre 22 de 2009Barranquilla, Diciembre 22 de 2009