software

7
Software Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido. La programación de computadoras era un "arte de andar por casa" para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salían con éxito. El software se diseñaba a medida para cada aplicación y tenía una distribución relativamente pequeña. Software es un término informático que hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas que permiten realizar distintas tareas en un sistema informático. Tipos de software: El software de sistema: digamos que es la parte esencial, en ella no solamente podemos clasificar los sistemas operativos como Linux, Windows o Mac, también debemos agregar aquel software que permite la comunicación entre el Hardware y el sistema operativo, los controladores de sistema para la ejecución de diversos sectores de la computadora e incluso programas que son capaces de administrar los recursos y de proporcionarle al usuario una bella interfaz para que pueda controlar la computadora de una forma muy sencilla. La clasificación del Software de sistema queda de la siguiente manera: -Sistemas operativos -Controladores de dispositivo -Herramientas de diagnóstico -Herramientas de Corrección y Optimización -Servidores

Upload: javier-leal

Post on 12-Feb-2017

20 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Software

Software

Durante los primeros años de la era de la computadora, el software se contemplaba como un añadido. La programación de computadoras era un "arte de andar por casa" para el que existían pocos métodos sistemáticos. El desarrollo del software se realizaba virtualmente sin ninguna planificación, hasta que los planes comenzaron a descalabrarse y los costes a correr. Los programadores trataban de hacer las cosas bien, y con un esfuerzo heroico, a menudo salían con éxito. El software se diseñaba a medida para cada aplicación y tenía una distribución relativamente pequeña.

Software es un término informático que hace referencia a un programa o conjunto de programas de cómputo que incluye datos, procedimientos y pautas que permiten realizar distintas tareas en un sistema informático.

Tipos de software:

El software de sistema: digamos que es la parte esencial, en ella no solamente podemos clasificar los sistemas operativos como Linux, Windows o Mac, también debemos agregar aquel software que permite la comunicación entre el Hardware y el sistema operativo, los controladores de sistema para la ejecución de diversos sectores de la computadora e incluso programas que son capaces de administrar los recursos y de proporcionarle al usuario una bella interfaz para que pueda controlar la computadora de una forma muy sencilla.

La clasificación del Software de sistema queda de la siguiente manera:

-Sistemas operativos

-Controladores de dispositivo

-Herramientas de diagnóstico

-Herramientas de Corrección y Optimización

-Servidores

-Utilidades

Software de Programación: Está claro que para que puedan existir diversos programas, primero debe haber personas encargadas del desarrollo de sistemas, en este caso haciendo uso de software de programación, por eso la clasificación continua en este punto, después de que el sistema operativo es la base de todo, la programación le sigue muy detrás, un software que ayuda en la creación y desarrollo de aplicaciones, haciendo uso de conocimientos lógicos y de programación.

Page 2: Software

Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto de software que trabaja de la mano uno con el otro, el programador desarrolla en un editor de texto y posteriormente compila el programa para verificar que está correcto, esto en cualquier lenguaje de programación, aunque actualmente existen Entornos de Desarrollo Integrados (IDE) que no son más que un programa informático que consta de una serie de herramientas de programación, los que actualmente utilizan los lenguajes de programación para su desarrollo.

La Clasificación del software de programación es la siguiente:

-Editores de texto

-Compiladores

-Intérpretes

-Enlazadores

-Depuradores

-Entornos de Desarrollo Integrados (IDE)

Software de Aplicación: El software de aplicación, es aquel que utilizamos día a día, cada uno de los programas, aplicaciones o utilidades que manejamos dentro de nuestra computadora, entran dentro de esta clasificación, es el resultado de la programación de software, enfocado hacia alguno de los sistemas operativos, como puedes ver es el tercer y último paso, hablando de forma técnica es el software diseñado para el usuario final.

Dentro de los ejemplos, se encuentran todos los programas que usas día a día, la paquetería de Office, los programas para comunicarte por medio de chat, los programas para ver fotos, utilidades para escuchar música en la computadora, los antivirus, etc.

La clasificación del software de aplicación queda de la siguiente manera:

Aplicaciones de Sistema de control y automatización industrial

-Aplicaciones ofimáticas

-Software educativo

-Software médico

-Software de Cálculo Numérico

-Software de Diseño Asistido (CAD)

-Software de Control Numérico (CAM)

Page 3: Software

Ingeniería de Software

La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (software).

Esta disciplina trasciende la actividad de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto previsto.

La ingeniería de software, por lo tanto, incluye el análisis previo de la situación, el diseño del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su correcto funcionamiento y la implementación del sistema.

Cabe destacar que el proceso de desarrollo de software implica lo que se conoce como ciclo de vida del software, que está formado por cuatro etapas: concepción, elaboración, construcción y transición.

La concepción fija el alcance del proyecto y desarrolla el modelo de negocio; la elaboración define el plan del proyecto, detalla las características y fundamenta la arquitectura; la construcción es el desarrollo del producto; y la transición es la transferencia del producto terminado a los usuarios.

Una vez que se completa este ciclo, entra en juego el mantenimiento del software. Se trata de una fase de esta ingeniería donde se solucionan los errores descubiertos (muchas veces advertidos por los propios usuarios) y se incorporan actualizaciones para hacer frente a los nuevos requisitos. El proceso de mantenimiento incorpora además nuevos desarrollos, para permitir que el software pueda cumplir con una mayor cantidad de tareas.

Un campo directamente relacionado con la ingeniería de software es la arquitectura de sistemas, que consiste en determinar y esquematizar la estructura general del proyecto, diagramando su esqueleto con un grado relativamente alto de especificidad y señalando los distintos componentes que serán necesarios para llevar a cabo el desarrollo, tales como aplicaciones complementarias y bases de datos. Se trata de un punto fundamental del proceso, y es muchas veces la clave del éxito de un producto informático.

Prototipo

Es frecuente que los clientes no sepan lo que quieren, pero cuando ven algo y utilizan prototipos, pronto saben lo que no quieren.

Los prototipos son una representación limitada de un producto, permite a las partes probarlo en situaciones reales o explorar su uso, creando así un proceso de diseño de iteración que genera calidad.

Un prototipo puede ser cualquier cosa, desde un trozo de papel con sencillos dibujos a un complejo software.

Page 4: Software

¿Por qué un prototipo?

Porque son útiles para comunicar, discutir y definir ideas entre los diseñadores y las partes responsables.

Los prototipos apoyan la evaluación de productos, clarifican requisitos de usuario y definen alternativas.

Prototipos de baja fidelidad

Utilizan materiales distintos al del producto final, son baratos, simples y fáciles de producir.

Son particularmente útiles en las fases iniciales del desarrollo, durante el diseño conceptual.

Prototipo de alta fidelidad

Son aquellos que se parecen al producto final y utiliza sus mismos materiales.

Marc Retting (1994) desaconseja el uso de prototipos de alta fidelidad porque:

-Necesitan mucho tiempo para crearse.

-Las pruebas tienden a centrarse en aspectos superficiales.

-Los desarrolladores se resisten a cambiar algo que les ha llevado horas crear.

-Crea excesiva expectación.

-Un error puede parar un test.

Requerimientos

Normalmente, un tema de la Ingeniería de Software tiene diferentes significados. De las muchas definiciones que existen para requerimiento, ha continuación se presenta la definición que aparece en el glosario de la IEEE .

(1) Una condición o necesidad de un usuario para resolver un problema o alcanzar un objetivo. (2) Una condición o capacidad que debe estar presente en un sistema o componentes de sistema para satisfacer un contrato, estándar, especificación u otro documento formal. (3) Una representación documentada de una condición o capacidad como en (1) o (2).

Los requerimientos puedes dividirse en requerimientos funcionales y requerimientos no funcionales.Los requerimientos funcionales definen las funciones que el sistema será capaz de realizar.

Page 5: Software

Describen las transformaciones que el sistema realiza sobre las entradas para producir salidas.Los requerimientos no funcionales tienen que ver con características que de una u otra forma puedan limitar el sistema, como por ejemplo, el rendimiento (en tiempo y espacio), interfaces de usuario, fiabilidad (robustez del sistema, disponibilidad de equipo), mantenimiento, seguridad, portabilidad, estándares, etc.

Características de los requerimientosLas características de un requerimiento son sus propiedades principales. Un conjunto de requerimientos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo. A continuación se presentan las más importantes.Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser simple y clara para aquellos que vayan a consultarlo en un futuro.Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la información suficiente para su comprensión.Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación. El lenguaje usado en su definición, no debe causar confusiones al lector.Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.