Está en la página 1de 7

Ingeniería Informática

Análisis de software

Kevin Saldarriaga Garcia


Camilo José García Chacón
Josue Mesa Palacio
Santiago Cartagena Agudelo
¿Qué significa ser Ingeniero Informático?

Introducción

¿Qué es ingeniería de software?

La ingeniería del software es una disciplina que implica el uso de estructuras, herramientas
y técnicas para construir programas informáticos.

Asimismo, incluye el análisis previo de la situación, la redacción del proyecto, la creación del
software y las pruebas necesarias para garantizar su correcto funcionamiento antes de que
el sistema esté operativo.

Esta ingeniería aborda todas las fases del ciclo de vida de desarrollo de cualquier tipo de
sistema de información y es aplicable a una amplia gama de ámbitos de la informática y la
ciencia de los ordenadores, como el diseño de compiladores, sistemas operativos y
tecnologías de Intranet/Internet: la empresa, la investigación científica, la medicina, la
fabricación, la logística, la banca, el control del tráfico y la meteorología son solo algunos de
los campos en los que puede trabajar.

Diferencia entre ingeniería de software e ingeniería de sistemas

La ingeniería de software es un campo de estudio que abarca las estructuras, instrumentos


y los métodos utilizados en el desarrollo de programas informáticos. Por lo tanto, es una
rama de la ingeniería que desarrolla y gestiona sistemas de software utilizando técnicas y
experimentos de la informática, la gestión de proyectos y otras disciplinas.

La ingeniería de sistemas se ocupa de la creación y aplicación de técnicas de información.


Abarca un amplio abanico de ocupaciones, ya que la gestión de la información forma parte
actualmente de cualquier operación humana.

Ciclo de vida del desarrollo del software

El ciclo de vida del desarrollo del software (también conocido como SDLC o Systems
Development Life Cycle) contempla las fases necesarias para validar el desarrollo del
software y así garantizar que este cumpla los requisitos para la aplicación y verificación de
los procedimientos de desarrollo, asegurándose de que los métodos usados son
apropiados.
Fases de desarrollo de software:

1 Planificación:
Antes de empezar un proyecto de desarrollo de un sistema de información, es necesario
hacer ciertas tareas que influirán decisivamente en el éxito del mismo. Dichas tareas son
conocidas como el fuzzy front-end del proyecto, puesto que no están sujetas a plazos.

2 Análisis:
Por supuesto, hay que averiguar qué es exactamente lo que tiene que hacer el software.
Por eso, la etapa de análisis en el ciclo de vida del software corresponde al proceso a través
del cual se intenta descubrir qué es lo que realmente se necesita y se llega a una
comprensión adecuada de los requerimientos del sistema (las características que el sistema
debe poseer).

3 Diseño:
En esta fase se estudian posibles opciones de implementación para el software que hay que
construir, así como decidir la estructura general del mismo. El diseño es una etapa compleja
y su proceso debe realizarse de manera iterativa.

4 Implementación:
En esta fase hay que elegir las herramientas adecuadas, un entorno de desarrollo que
facilite el trabajo y un lenguaje de programación apropiado para el tipo de software a
construir. Esta elección dependerá tanto de las decisiones de diseño tomadas como del
entorno en el que el software deba funcionar.

5 Pruebas:
Como errar es humano, la fase de pruebas del ciclo de vida del software busca detectar los
fallos cometidos en las etapas anteriores para corregirlos. Por supuesto, lo ideal es hacerlo
antes de que el usuario final se los encuentre. Se dice que una prueba es un éxito si se
detecta algún error.

6 Instalación o despliegue:
La siguiente fase es poner el software en funcionamiento, por lo que hay que planificar el
entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes
del mismo.

7 Uso y mantenimiento:
Esta es una de las fases más importantes del ciclo de vida de desarrollo del software.
Puesto que el software ni se rompe ni se desgasta con el uso, su mantenimiento incluye tres
puntos diferenciados:

Eliminar los defectos detectados durante su vida útil (mantenimiento correctivo).


Adaptarlo a nuevas necesidades (mantenimiento adaptativo).
Añadirle nuevas funcionalidades (mantenimiento perfectivo).

Modelos de ciclos de vida del software


Con el fin de facilitar una metodología común entre el cliente y la compañía de software, los
modelos de ciclo de vida (o paradigmas de desarrollo de software) se han actualizado para
plasmar las etapas de desarrollo involucradas y la documentación necesaria, de forma que
cada fase se valide antes de continuar con la siguiente.

1 Modelo en cascada
En el modelo de ciclo de vida en cascada las fases anteriores funcionarán una detrás de la
otra de manera lineal. De este modo, solo cuando una fase termine se podrá continuar con
la siguiente, y así progresivamente.

2 Modelo repetitivo
Este modelo guía el proceso de desarrollo de software en repeticiones. Así, proyecta el
proceso de desarrollo de modo cíclico repitiendo cada paso después de cada ciclo en el
proceso de ciclo de vida del software.

3 Modelo en espiral
El modelo en espiral es una combinación de los modelos anteriores donde se tiene en
cuenta el riesgo. De esta forma, se comienza fijando los objetivos y las limitaciones al
empezar cada repetición. En la etapa siguiente se crean los modelos de prototipo del
software, que incluye el análisis de riesgo. Posteriormente se usa un modelo estándar para
construir el software y finalmente se prepara el plan de la próxima repetición.

4 Modelo en V
Uno de los grandes problemas del modelo en cascada es que solo se pasa a la siguiente
fase si se completa la anterior y no se puede volver atrás si hay errores en etapas
posteriores. Así, el modelo en V da más opciones de evaluación del software en cada etapa.

En cada fase se crea la planificación de las pruebas y los casos de pruebas para verificar y
validar el producto en función de los requisitos de la misma. De esta manera, verificación y
validación van en paralelo.

5
Modelo Big Bang
Probablemente este sea el modelo más simple, ya que necesita poca planificación, mucha
programación y muchos fondos. Este modelo tiene como concepto principal la creación del
universo; así, si se reúnen fondos y programación, se consigue el mejor producto de
software.
Ingeniería de software en el entretenimiento (videojuegos)

Ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y


cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos
enfoques, es decir, la aplicación de la ingeniería al software. Es la aplicación de la ingeniería
al software, ya que integra matemáticas, ciencias de la computación y prácticas cuyos
orígenes se encuentran en la ingeniería." Un videojuego es un software que se emplea para
el entretenimiento de una o más personas. Este está desarrollado para correr en
plataformas específicas que aprovechen sus metodologías de diseño para poder ser
jugados, estas plataformas pueden ser consolas dedicadas, árcades, Smartphones, PC, etc.
Siendo software los videojuegos tienen varios pasos y procedimientos para pasar de una
solo idea a ser grandes producciones que hoy en día ganan más que la industria del cine o
la música. El software implica varias cuestiones de desarrollo así como varias cosas se
toman en cuenta para llegar al consumidor final.
¿Por qué toma tanto tiempo el desarrollo de un videojuego? Es algo relativo. Con el
paso del tiempo hubo una gran expansión en el desarrollo de videojuegos. En sus primeros
pasos como industria solo era necesaria hasta una persona y unas semanas para
desarrollar un videojuego exitoso. Hoy en día desarrollar un videojuego AAA puede tomar
años, hasta 1000 personas y costar cientos de millones de dólares. El desarrollo de juegos
es muy diferente según el mercado al que van dirigidos. Los llamados juegos “indies” se
desarrollan más a la vieja escuela, donde solo pocas personas lo desarrollan y son las
mismas que se encargan de la distribución y publicidad del juego. Es tangible que solo
pocas propuestas de este tipo llegan a tener ganancias y ser exitosos, la mayoría de los
juegos independientes se quedan en el limbo causando que sean nulamente conocidos.
Veamos el otro lado, los juegos grandes o AAA toman hasta años desarrollarlos (GTA V
tomó 5 años).

Una de las disciplinas en el desarrollo de videojuegos es la programación. Hay diferentes


roles en esta disciplina entre los cuales podemos observar
-De lógica del juego
-De herramientas/motor (Infraestructura)
-Gráfico (Efectos)
-Programador/Ingeniero de audio
-De inteligencia artificial
-De redes
Proceso:

Para que el creador haga esto en el desarrollo de un videojuego generalmente hace el


siguiente proceso:

● Concepción de la idea del videojuego


● Diseño
● Planificación
● Preproducción
● Producción
● Pruebas
● Mantenimiento

El proceso es similar a la creación de software en general, aunque difiere en la gran


cantidad de aportes creativos (música, historia, diseño de personajes, niveles, etc)
necesarios. El desarrollo también varía en función de la plataforma objetivo (PC, móviles,
consolas), el género (estrategia en tiempo real, RPG, aventura gráfica, plataformas, etc) y la
forma de visualización (2D, 2.5D y 3D).
Cabe mencionar que el diseño de juegos es usualmente considerado un proceso de
creación iterativo, esto quiere decir que los diseñadores tendrán que pasar por cada uno de
estos pasos repetidas veces (cambiando y mejorando aspectos) hasta que consideren que
el resultado sea el mejor.

Justificación:

De la rama del entretenimiento dentro de la ingeniería informática, nos interesa mucho los
videojuegos, porque han sido nuestra pasión desde niños al punto de que muchos de
nuestros colegas iniciaron su carrera en el mundo de la programación gracias a la pasión
inspirada por los juegos. Dado que el entretenimiento digital significa mucho para nosotros
no solo como programadores sino como seres humanos, queremos hacer un aporte a dicha
pasión esperando que las generaciones futuras no vean los juegos solo como un medio de
entretenimiento sino como un medio de aprendizaje, reflexión y no como una fuente de
estrés. Dado que los juegos digitales tienen tanta variedad como la música, queremos
plantear un proyecto que reúne a jugadores alrededor del mundo no solo a través del juego
por sí mismo, sino de la unión de jugadores alrededor de una cultura que se aleja de los
valores impuestos por la comunidad de jugadores moderna (una comunidad que promueve
comportamientos “tóxicos”, irrespetuosos y fácilmente manipulable) donde se invita a los
jugadores a disfrutar verdaderamente del juego como una experiencia y medio para
transmitir una historia, de forma similar a como se promueven las películas y la cultura
cinéfila que existe alrededor suyo.
Cibergrafía

Ingeniería de software: Qué es, Objetivos y Funciones | UNIR Colombia. (2021). Retrieved 26
October 2021, from https://colombia.unir.net/actualidad-unir/ingenieria-de-software-que-es-objetivos/

Ciclo de vida del software: todo lo que necesitas saber. (2021). Retrieved 26 October 2021, from
https://intelequia.com/blog/post/2083/ciclo-de-vida-del-software-todo-lo-que-necesitas-saber

Importancia de la ingeniería de software en los videojuegos | Retrieved 28 October 2021, from


https://www.levelup.com/blogs/274401/Importancia-de-la-ingenieria-de-software-en-los-videojuegos

Ingeniería de software en videojuegos | Retrieved 28 October 2021, from


https://docplayer.es/2861824-Ingenieria-de-software-en-videojuegos.html

Desarrollo de videojuegos | Retrieved 28 October 2021, from


https://es.wikipedia.org/wiki/Desarrollo_de_videojuegos

También podría gustarte