Está en la página 1de 18

NATURALEZA DEL SOFTWARE

Bernardo Lisboa
Barrio Universitario

Agosto 2020
SOFTWARE

¿Qué es el software?
SOFTWARE

1) Conjunto de instrucciones (programas de cómputo) que


cuando se ejecutan proporcionan las características,
función y desempeño esperado por los usuarios.

2) Estructuras de datos que permiten que los programas


manipulen en forma adecuada la información.
SOFTWARE
3) Es la información que suministra el desarrollador a la
computadora para que manipule la información que
suministra el usuario.

Esta información la suministra el desarrollador mediante:


• Programas en lenguajes de programación (Java, C#,C++),
• Scripts para la creación de las tablas de las bases de datos
• Páginas dinámicas en aplicaciones Web (JSP, PHP, ASPX),
• Presentaciones (HTML, CSS)
SOFTWARE
3) Es la información que suministra el desarrollador a la
computadora para que manipule la información que
suministra el usuario.

Esta información la suministra el desarrollador mediante:


• Programas en lenguajes de programación (Java, C#,C++),
• Scripts para la creación de las tablas de las bases de datos
• Páginas dinámicas en aplicaciones Web (JSP, PHP, ASPX),
• Presentaciones (HTML, CSS)
SISTEMA

Un Sistema es un conjunto de componentes interactuando o


interdependientes formando un todo integrado.

Ejemplos: Sistema respiratorio del cuerpo humano, El sistema de


transporte publico, El sistema educacional, El sistema financiero. El
sistema computacional (software) para administrar cuentas
corrientes en un banco, El sistema computacional (software) para
administrar una institución de educación superior.

Un Sistema Complejo es aquel cuya complejidad excede la


capacidad intelectual humana.
SOFTWARE

Software Simple:
• Los construye una sola persona
• Tiene pocas líneas de código (menos de 100.000)
• El ciclo de vida es corto
• No requiere mucho esfuerzo en análisis ni diseño
• No serán objeto de nuestro estudio
SOFTWARE

Software Complejo:
• También denominado Software Empresarial
• Es muy poco probable o casi imposible que una sola persona
pueda comprender todas las funcionalidades y sus diseños.
• Tiene mas de 100.000 de líneas de código
• El ciclo de vida es de muchos años
• Requiere mucho esfuerzo en análisis y en diseño
• Si serán objeto de nuestro estudio
COMPLEJIDAD DEL SOFTWARE

Para Bertrand Meyer: “El único gran enemigo de fiabilidad ,


y tal vez la calidad del software en general es la
complejidad”

A más complejidad más probabilidad de que existan errores


y que no sean detectados. A más complejidad más 
deuda técnica.
COMPLEJIDAD DEL SOFTWARE

Ley de Tesler de conservación de la complejidad dice que :


“No se puede reducir la complejidad de una tarea más allá
de cierto punto. Una vez alcanzado ese punto de
simplificación, sólo es posible desplazar la complejidad de
un lugar a otro”.
COMPLEJIDAD DEL SOFTWARE

Según Grady Booch, la complejidad de los sistemas de


software se deriva de cuatro elementos:

1. La complejidad del dominio del problema,


2. La dificultad de gestionar el proceso de desarrollo,
3. La flexibilidad que se puede alcanzar a través del
software y
4. Los problemas de caracterizar el comportamiento de
sistemas discretos.
COMPLEJIDAD DEL SOFTWARE

Según Grady Booch, la complejidad de los sistemas de


software se deriva de cuatro elementos:

1. La complejidad del dominio del problema,


2. La dificultad de gestionar el proceso de desarrollo,
3. La flexibilidad que se puede alcanzar a través del
software y
4. Los problemas de caracterizar el comportamiento de
sistemas discretos.
COMPLEJIDAD DEL SOFTWARE

Si la complejidad de los grandes sistemas de software no se


puede eliminar, ¿cómo se puede manejar?

Desde tiempos remotos, el ser humano ha enfrentado la


complejidad por medio de la descomposición de un gran problema
original en problemas más y más pequeños.

Este precepto, que ha sido aplicado en diversos ámbitos, también


se aplica en el diseño de sistemas de software complejos,
descomponiéndolos hasta llegar a un nivel tal que puedan
manejarse como problemas independientes.
COMPLEJIDAD DEL SOFTWARE

La descomposición orientada a objetos nos permite


descomponer el problema en un conjunto de agentes
autónomos, llamados objetos, que colaboran para generar la
solución. Cada objeto sabe realizar ciertas tareas que otros
objetos, a través de mensajes, les piden realizar.

El criterio de descomposición orientado a objetos es mejor para


ayudar a organizar la complejidad innata de los sistemas de
software, porque modela mejor a los objetos del mundo real.
COMPLEJIDAD DEL SOFTWARE

La descomposición orientada a objetos nos entrega cuatro


mecanismos que facilitan enormemente nuestra comprensión de
sistemas complejos:

• Abstracción

• Encapsulación

• Modularidad

• Jerarquía
COMPLEJIDAD DEL SOFTWARE

1. La abstracción es “proceso mental de extracción de las


características esenciales de algo, ignorando los detalles
superfluos”

2. La encapsulación es proceso por el que se ocultan los


detalles del soporte de las características esenciales de una
abstracción. El Principio de Encapsulación dice que todo
aquello que no sea necesario dar a conocer, no se debe dar a
conocer.
COMPLEJIDAD DEL SOFTWARE

3. La modularidad es el proceso de descomposición de un


sistema en un conjunto de piezas poco acoplados (conectados,
interrelacionados) y cohesivos (relacionados lógicamente).

4. Jerarquía es una clasificación u ordenamiento de las


abstracciones. La jerarquización es el proceso de
estructuración por el que se produce una organización de un
conjunto de elementos en grados o niveles de responsabilidad,
de clasificación o de composición.
PREGUNTAS

También podría gustarte