TECNOLOGÍA DE SOFTWARE
Daniel BonillaApuntes19 de Septiembre de 2021
2.371 Palabras (10 Páginas)250 Visitas
[pic 1][pic 2] | UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA INGENIERIA DE SISTEMAS PROGRAMACION PROFESORA: JUSBANIZ MARITZA ZAPATA DUGARTE |
UNIDAD IV: INGENIERIA DEL SOFTWARE
4.2.- TECNOLOGIA DE SOFTWARE:
TECNOLOGÍA DE SOFTWARE:
El software tiene un papel dual, es producto y canal de distribución de este. Como producto, ofrece la potencia presentada dentro del hardware de una computadora. Sin importar el lugar en que resida el software, ya sea en un celular o dentro de una computadora central, éste es un transformador de información; realiza la producción, el manejo, la adquisición, la modificación, el despliegue o la transmisión de la información que puede ser tan simple como un solo bit o tan compleja como una presentación multimedia, todos estos procesos engloban la tecnología del software.
El ritmo al que avanzan las nuevas tecnologías es vertiginoso y, ante este paradigma, las empresas deben sumergirse en el nuevo ecosistema digital. Una recopilación de las tendencias tecnológicas más importantes en cuanto a tecnologías de software, hardware, ciencia y videojuegos son:
Blockchain: Se trata de una base de datos distribuida cuya documentación está encriptada y todo lo que se escriba en dicha base no se puede borrar nunca. Esto supone una revolución a la hora de compartir información, sobre todo en sectores donde ya utilizan esta tecnología como el sector financiero.
Big Data: El corazón de una empresa, Los datos se han convertido en el corazón de una empresa, el factor más indispensable para mejorar las relaciones con los clientes y tomar decisiones basadas en datos, no en intuiciones.
Realidad aumentada y virtual: Durante años, la realidad virtual ha sido una de las tecnologías donde las empresas han invertido más dinero para conseguir experiencias que revolucionaran el sector. La fiebre de la realidad virtual fue sustituida por la llegada de la realidad aumentada. Y, de repente, todos queríamos probarnos esas gafas adaptadas a estas tecnologías y experimentar lo que era posible hacer con ellas.
Inteligencia artificial machine learning: Los robots no dominarán el mundo y la IA no quitará el trabajo a las personas. Sin embargo, esta tecnología sí ya es capaz de predecir el éxito de una startup (negocio que será escalable más rápida y fácilmente, haciendo uso de tecnologías digitales) o el riesgo de padecer depresión. El aprendizaje automático o machine learning ha demostrado funcionar dentro de la IA y, en base a algoritmos, es capaz de hacer predicciones reales y concretas.
MÉTODOS DE DESARROLLO DE HERRAMIENTAS DE SOPORTE
Metodología de desarrollo:
Una metodología puede seguir uno o varios modelos de ciclo de vida, es decir, el ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto pero no cómo hacerlo. La Metodología indica cómo hay que obtener los distintos productos parciales y finales.
Características deseables de una metodología
- Soporte al mantenimiento.
- Verificaciones intermedias.
- Comunicación efectiva.
- Existencia de reglas predefinidas.
- Soporte de la reutilización de Software.
- Cobertura total del ciclo de desarrollo.
Se dividen en:
- Desarrollo Convencional (Sin metodología)
- Desarrollo Estructurado.
- Desarrollo Orientado a Objetos.
Ejemplo de Desarrollo Convencional:
10 CLS
20 A=10
30 INPUT B
40 IF B=A THEN GOTO 50 ELSE GOTO 70
50 PRINT “A Y B SON IGUALES”
60 GOTO 100
70 IF A>B THEN GOTO 80 ELSE GOTO 90
80 B= B + 1; GOTO 40
90 B= B - 1; GOTO 40
100 END
Críticas del Desarrollo Convencional:
- Los resultados finales son impredecibles.
- No hay forma de controlar lo que está sucediendo en el Proyecto.
Desarrollo estructurado:
Ejemplo de Desarrollo Estructurado:
PROGRAM NUMEROSIGUALES
BEGIN
CLEARSCREEN;
A :=10 ;
INPUT B;
REPEAT
IF B=A THEN PRINT “A Y B SON IGUALES”
ELSE REDUCEDIFERENCIA(A,B);
UNTIL B=A;
END;
PROCEDURE REDUCEDIFENCIA(A,B);
BEGIN
IF A>B THEN B:= B+1
ELSE B:= B - 1
END
Ventajas del Desarrollo Estructurado:
- Programación estructurada.
- Diseño estructurado.
- Análisis estructurado.
Desarrollo orientado a objetos:
La esencia del desarrollo orientado a objetos es la identificación y organización de conceptos del dominio de la aplicación y no tanto de su representación final en un lenguaje de programación.
Consideraciones de la metodología orientada a objetos:
- Se eliminan fronteras entre fases debido a la naturaleza iterativa del desarrollo orientado al objeto.
- Aparece una nueva forma de concebir los lenguajes de programación y su uso al incorporarse bibliotecas de clases y otros componentes reutilizables.
- Hay un alto grado de iteración y solapamiento, lo que lleva a una forma de trabajo muy dinámica.
Ventajas del Desarrollo Orientado a Objetos:
- Fácil de dividir el sistema en varios subsistemas independientes.
- Se fomenta la reutilización de componentes.
Desarrollo orientado a objetos
La metodología de desarrollo orientada a objetos tiene cuatro conceptos básicos:
- Objetos
- Clases
- Herencia
- Envío de mensajes
ENTORNOS DE DESARROLLO
Es un conjunto de procedimientos y herramientas que se utilizan para desarrollar un código fuente o programa. Este término se utiliza a veces como sinónimo de entorno de desarrollo integrado (IDE), que es la herramienta de desarrollo de software utilizado para escribir, generar, probar y depurar un programa. También proporcionan a los desarrolladores una interfaz de usuario común (UI) para desarrollar y depurar en diferentes modos.
A la hora de elegir en entorno de desarrollo o IDE (Integrated Development Environment) es fundamental tener definido qué lenguaje de programación se va a utilizar tanto en el Frontend (la parte visible de la web) como en el Backend (es la parte del desarrollo web que se encarga de que toda la lógica de una página web funcione. Se trata del conjunto de acciones que pasan en una web pero que no vemos como, por ejemplo, la comunicación con el servidor.).
Niveles del entorno de desarrollo
El entorno de desarrollo normalmente tiene tres niveles de servidores, clasificados como desarrollo, montaje y producción. Los tres niveles juntos se denominan generalmente como el DSP.
- Servidor de desarrollo: Aquí es donde el desarrollador prueba el código y comprueba si la aplicación se ejecuta correctamente con ese código. Una vez que la implementación ha sido probada y el desarrollador considera que el código trabaja de forma correcta, la aplicación se mueve entonces al servidor intermedio de montaje.
- Servidor de integración: Este entorno se hace para que se vea exactamente igual que el entorno del servidor de producción. La aplicación se prueba en el servidor de ensayo para comprobar la fiabilidad y para asegurarse de que no falla en el servidor de producción real. Este tipo de pruebas en el servidor intermedio es el último paso antes de que la aplicación se despliegue en un servidor de producción. La aplicación tiene que ser aprobada con el fin de implementarla en el servidor de producción.
- Servidor de producción: Una vez realizada la aprobación, la aplicación se convierte en una parte de este servidor.
Tipos de IDE conocidos
Hay muchos casos de uso comerciales y técnicos distintos para los IDE, lo cual también significa que hay muchas opciones de IDE propietarios y open source en el mercado. En general, las características distintivas más importantes entre los IDE son las siguientes:
...