Presentacion GuíA No.3

21
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

Transcript of Presentacion GuíA No.3

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).

POSIBLES CAUSAS DE LA POSIBLES CAUSAS DE LA CRISIS DEL SOFTWARECRISIS DEL SOFTWARE

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:

La Programación La Programación Orientado a ObjetosOrientado a Objetos

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.

METODOLOGIAS DE METODOLOGIAS DE DESARROLLO DE DESARROLLO DE

SOFTWARESOFTWARE

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