0% encontró este documento útil (0 votos)
35 vistas9 páginas

Introingsoftware

El documento presenta una introducción a la ingeniería del software, definiendo el software como un conjunto de instrucciones que permite la interacción con computadoras y destacando su evolución hacia la computación en la nube. Se discuten las características del software, su ciclo de vida y la importancia de las metodologías en su desarrollo, así como las diversas categorías de software que enfrentan retos en la ingeniería. Finalmente, se concluye que el desarrollo de software requiere un análisis exhaustivo y adaptación a nuevas tecnologías para asegurar su éxito en un entorno en constante cambio.

Cargado por

AP Porga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas9 páginas

Introingsoftware

El documento presenta una introducción a la ingeniería del software, definiendo el software como un conjunto de instrucciones que permite la interacción con computadoras y destacando su evolución hacia la computación en la nube. Se discuten las características del software, su ciclo de vida y la importancia de las metodologías en su desarrollo, así como las diversas categorías de software que enfrentan retos en la ingeniería. Finalmente, se concluye que el desarrollo de software requiere un análisis exhaustivo y adaptación a nuevas tecnologías para asegurar su éxito en un entorno en constante cambio.

Cargado por

AP Porga
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a la Ingeniería del software

1. INTRODUCCIÓN
El software como tal es un conjunto de instrucciones lógicas que le permite
al usuario interactuar con el computador a través de una interfaz, es lo que
comúnmente se conoce como los programas del computador y van desde
un editor de texto hasta aplicaciones que gestionan a otras.
La industria del software avanza a pasos agigantados, un claro ejemplo de
eso es la computación en la nube, que si bien antes teníamos que instalar
un programa en nuestra computadora para poder acceder a todas las
funcionabilidades que tenía ahora se lo puede hacer mediante un
navegador donde el programa se encuentra alojado en un servidor a varios
kilómetros de distancia, dejando así disponible el hardware que se
utilizaría para correr esta aplicación (memoria, disto, procesador).
A continuación se analiza más detalladamente que es el software, sus
características y las diferentes metodologías que utilizan los
desarrolladores para crear este producto, ya que la elaboración del
software a medida (es decir con una función en específico), requiere de
mucho esfuerzo por parte del programador como del cliente para que el
producto pueda tener éxito.
2. OBJETIVO DE LA CLASE
Conocer las diferentes características que tiene el software y las
metodologías que utilizan los programadores para crearlo.
3. MARCO TEORICO
3.1. ¿Qué es el software?
Según Pressman, R. 2010 “El software de computadora es el producto que
construyen los programadores profesionales y al que después le dan
mantenimiento durante un largo tiempo. Incluye programas que se
ejecutan en una computadora de cualquier tamaño y arquitectura,
contenido que se presenta a medida de que se ejecutan los programas de
cómputo e información descriptiva tanto en una copia dura como en
formatos virtuales que engloban virtualmente a cualesquiera medios
electrónicos. La ingeniería de software está formada por un proceso, un
conjunto de métodos (prácticas) y un arreglo de herramientas que permite
a los profesionales elaborar software de cómputo de alta calidad.”
3.2. Ciclo de vida del software
El término ciclo de vida del software describe el desarrollo de software,
desde la fase inicial hasta la fase final. El ciclo de vida básico de un software
consta de los siguientes procedimientos:

Figura 1: Ciclo de vida del software

3.3. La naturaleza del software


En la actualidad, el software tiene un papel dual. Es un producto y al mismo
tiempo es el vehículo para entregar un producto. El software produce,
administra, adquiere, modifica, despliega o transmite información que
puede ser tan simple como un solo bit o tan compleja como una
presentación con multimedios generada a partir de datos obtenidos de
decenas de fuentes independientes.
Características del software
En la actualidad, la enorme industria del software se ha convertido en un
factor dominante en las economías del mundo industrializado. Equipos de
especialistas de software, cada uno centrado en una parte de la tecnología
que se requiere para llegar a una aplicación compleja, han reemplazado al
programador solitario de los primeros tiempos. A pesar de ello, las
preguntas que se hacía aquel programador son las mismas que surgen
cuando se construyen sistemas modernos basados en computadora. Éstas
y muchas otras preguntas, denotan la preocupación sobre el software y la
manera en que se desarrolla, preocupación que ha llevado a la adopción de
la práctica de la ingeniería del software (Mejía. P. 2013) (Pressman, R.
2010)
Figura 3: Preguntas sobre la manera de desarrollar software de calidad

3.4. Iingenieria de Software


Aunque cientos de autores han desarrollado definiciones personales de la
ingeniería de software, a continuación se muestra la expuesta por Fritz
Bauer.
“La ingeniería de software es el establecimiento y uso de principios
fundamentales de la ingeniería con objeto de desarrollar en forma
económica software que sea confiable y que trabaje con eficiencia en
máquinas reales.”
La ingeniería de software es una tecnología de varias capas las mismas que
deben asegurar la calidad del producto, El fundamento para la ingeniería
de software es la capa proceso. El proceso define una estructura que debe
establecerse para la obtención eficaz de tecnología de ingeniería de
software. El proceso de software forma la base para el control de la
administración de proyectos de software, y establece el contexto en el que
se aplican métodos técnicos, se generan productos del trabajo (modelos,
documentos, datos, reportes, formatos, etc.), se establecen puntos de
referencia, se asegura la calidad y se administra el cambio de manera
apropiada (Pressman, R. 2010).

Figura 4: Capas de la ingenieria de software

3.5. El proceso del software


Un proceso es un conjunto de actividades, acciones y tareas que se ejecutan
cuando va a crearse algún producto del trabajo, a continuación se definen
cada uno de estos términos.
 Una actividad busca lograr un objetivo amplio (por ejemplo,
comunicación con los participantes) y se desarrolla sin importar el
dominio de la aplicación, tamaño del proyecto, complejidad del
esfuerzo o grado de rigor con el que se usará la ingeniería de software.
 Una acción (diseño de la arquitectura) es un conjunto de tareas que
producen un producto importante del trabajo (por ejemplo, un modelo
del diseño de la arquitectura).
 Una tarea se centra en un objetivo pequeño pero bien definido (por
ejemplo, realizar una prueba unitaria) que produce un resultado
tangible.
Una estructura de proceso general para la ingeniería de software consta de
cinco actividades:
Figura 5: Actividades Estructurales para el desarrollo del software
Las actividades estructurales del proceso de ingeniería de software son
complementadas por cierto número de actividades sombrilla. En general,
las actividades sombrilla se aplican a lo largo de un proyecto de software y
ayudan al equipo que lo lleva a cabo a administrar y controlar el avance, la
calidad, el cambio y el riesgo.
4. APORTE
4.1. Dominios de aplicación del software
Actualmente, hay siete grandes categorías de software de computadora
que plantean retos continuos a los ingenieros de software, a continuación
se muestran las expuestas por Mejía y Peña:
Software de sistemas: conjunto de programas escritos para dar servicio a
otros programas. Determinado software de sistemas (por ejemplo,
compiladores, editores y herramientas para administrar archivos)
Software de aplicación: programas aislados que resuelven una necesidad
específica de negocios se usa para controlar funciones de negocios en
tiempo real (por ejemplo, procesamiento de transacciones en punto de
venta, control de procesos de manufactura en tiempo real).
Software de ingeniería y ciencias: se ha caracterizado por algoritmos
“devoradores de números”. Las aplicaciones van de la astronomía a la
vulcanología, del análisis de tensiones en automóviles a la dinámica orbital
del transbordador espacial, y de la biología molecular a la manufactura
automatizada.
Software incrustado: reside dentro de un producto o sistema y se usa
para implementar y controlar características y funciones para el usuario
final y para el sistema en sí. El software incrustado ejecuta funciones
limitadas y particulares (por ejemplo, control del tablero de un horno de
microondas) o provee una capacidad significativa de funcionamiento y
control (funciones digitales en un automóvil, como el control del
combustible, del tablero de control y de los sistemas de frenado).
Software de línea de productos: es diseñado para proporcionar una
capacidad específica para uso de muchos consumidores diferentes. El
software de línea de productos se centra en algún mercado limitado y
particular (por ejemplo, control del inventario de productos) o se dirige a
mercados masivos de consumidores (procesamiento de textos, hojas de
cálculo, gráficas por computadora, multimedios, entretenimiento,
administración de base de datos y aplicaciones para finanzas personales o
de negocios).
Aplicaciones web: llamadas “webapps”, esta categoría de software
centrado en redes agrupa una amplia gama de aplicaciones. En su forma
más sencilla, las webapps son poco más que un conjunto de archivos de
hipertexto vinculados que presentan información con uso de texto y
gráficas limitadas. Sin embargo, desde que surgió Web 2.0,
las webapps están evolucionando hacia ambientes de cómputo sofisticados
que no sólo proveen características aisladas, funciones de cómputo y
contenido para el usuario final, sino que también están integradas con
bases de datos corporativas y aplicaciones de negocios.
Software de inteligencia artificial: hace uso de algoritmos no numéricos
para resolver problemas complejos que no son fáciles de tratar
computacionalmente o con el análisis directo. Las aplicaciones en esta área
incluyen robótica, sistemas expertos, reconocimiento de patrones (imagen
y voz), redes neurales artificiales, demostración de teoremas y juegos.
Estas categorías deberán adaptarse a las nuevas tendencias de desarrollo
que se den con el tiempo a continuación se detallan algunas:
Figura 6: Tendencias de desarrollo
5. CONCLUSIONES
El software lo desarrollan los ingenieros para que personas lo utilicen en
el entorno para el que este fue diseñado, para así poder sacar provecho de
todas las funcionabilidades que le fueron incluidas al producto.
El software en la actualidad está presente en todos los ámbitos de nuestras
vidas, ya que ha invadido el mercado, la cultura y las actividades que
realizamos porque nos permite ejecutarlas de forma más rápida y
dinámica.
El ciclo de vida del software inicia en el análisis para el posterior desarrollo
del mismo, ya que tener claro lo que se va a desarrollar es la parte más
importante, debido a que la mayoría de proyectos de software que han
fracasado se debe a que no se tomó el tiempo necesario para analizar el
problema. Este ciclo termina cuando el software ya no es utilizado por
ninguna persona, es decir se vuelve obsoleto o existe otra aplicación que es
mejor, es por esto que los programadores al momento de desarrollar
buscan las más recientes herramientas.
Las nuevas tecnologías permiten desarrollar software a la medida, es por
esto que los equipos de trabajo buscan mejorar sus productos de forma que
se adapten a las nuevas tendencias de desarrollo, un ejemplo en la
actualidad seria la computación en la nube donde el software como tal se
encuentra alojado en un servidor a varios kilómetros de la maquina en la
que se está ejecutando dejando así los recursos tales como memoria
procesador que se utilizarían en la instalación disponibles para otras
actividades.
El desarrollo de software exige mucho tiempo y análisis
independientemente del tipo de software que se esté realizando ya sea este
un sistema de notas o un sistema transaccional en la web. Los ingenieros
de software trabajan diariamente en diferentes proyectos y estos pueden
ser nuevos o actualizaciones a aplicaciones ya existentes para que se
adapten a las nuevas tecnologías.

También podría gustarte