Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tarea1 - Ingenieria de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Consorcio Clavijero

Tarea 1 Definición de conceptos básicos de la Ingeniería de Software


Ingeniería en Sistemas Computacionales
Módulo I Ingeniería de Software

Nombre del alumno:

Consideraciones: La tarea se llevará acabo en un archivo con Word.

Indicaciones: El estudiante, de manera individual y con base en las definiciones proporcionadas


en el módulo, definirá el concepto de Ingeniería de software.

1.1 Definición con palabras propias: ¿Qué es la Ingeniería de software?

Muchas personas pueden pensar que la ingeniería del software es únicamente crear programas,
pero para mí es mucho más que eso, puesto que crear un programa nace de una necesidad, por lo
que la necesidad debe de ser analizada para encontrar los factores de interés y tener claro lo que
es lograble y lo que no en base a la capacidad del ingeniero de software, el presupuesto del
cliente, los programas que se requieren (licencias), el soporte post desarrollo y cosas que pudieran
ser insignificantes como el perfil de los usuarios o el consumo de recursos para mantener operando
dicho desarrollo.

Un software bien desarrollado debe de tener la posibilidad de ser escalable para garantizar un
mayor tiempo de vida, ya que debido al crecimiento exponencial de las tecnologías de hardware y
software, el tiempo de vida de un sistema es critico puesto que un nuevo sistema implica fuertes
inversiones para algunas empresas.

Otra de las condiciones que tiene embebidas la ingeniería del software es la obligatoriedad de ser
una solución y no un problema, ya que en muchos casos se desarrolla software que requiere un
soporte experto, además de altos consumos de recursos informáticos y de software que al poco
tiempo de su implementación se convierte en costos sin retorno de inversión y tienen que ser
desechados o sustituidos, lo que genera grandes perdidas para las empresas o clientes.

Por otro lado, la seguridad que debe de tener el software que se desarrolle debe de contemplar
gobernabilidad de datos, gestión de usuarios y junto al software se deben desarrollar
procedimientos o protocolos para atender contingencias, esto se logra en gran medida con la
correcta documentación del código, ya que un alto porcentaje del código creado por pequeñas
empresas o desarrolladores freelancer carece de documentación que permita algún cambio que no
afecte algún otro modulo o fracture completamente el sistema.

Por último, la ingeniería del software es llamado así porque requiere de un nivel de análisis antes
de dar cualquier paso para asegurar la viabilidad de cualquier proyecto por mas pequeño que este
sea, este nivel de análisis solo se puede obtener después de una buena educación profesional,
aunado a la experiencia y la correcta implementación de metodologías que garanticen un trabajo
de calidad dentro de los marcos éticos y legales de las legislaciones vigentes.

Como conclusión, la ingeniería del software es tan amplia y diversa que se requiere y recomienda
la especialización de los ingenieros de software en áreas especificas para asegurar y garantizar la
calidad de los proyectos, es decir, para proyectos complejos será necesario tener uno a varios
DBA, desarrolladores backend, frontend y posterior a esto se requiere analistas de datos,
científicos de datos y especialistas en machine learning, inteligencia artificial o big data para que
los datos recabados por las aplicaciones desarrolladas generen valor y ayuden a la toma de
decisiones de las empresas.
Consorcio Clavijero

Indicaciones: El estudiante explicará en qué consisten los elementos claves de la Ingeniería de


software y 5 de los principios básicos de la Ingeniería de Software.

1.2 Explica en qué consisten los elementos clave de la Ingeniería de


software

Herramientas: Se define como herramienta a todos los instrumentos que se utilizan para realizar
un trabajo determinado. Con esto en mente se puede decir que las herramientas son todas las
necesidades de hardware y software para el correcto desarrollo de un sistema. En la ingeniería del
software se puede considerar herramientas desde los servidores físicos, hasta las maquinas
virtuales que deban de ser montadas en caso de ser necesarias. Po lo que las herramientas no
siempre serán estandarizadas para cualquier proyecto y las necesidades deberán de ser cubiertas
en base a los requerimientos de cada proyecto.

Métodos: Se define como el modo ordenado y sistemático de proceder para llegar a un resultado o
fin determinado. Con esto podemos entender que los métodos utilizados en la ingeniería del
software serán modelos conceptualizados que nos ayuden a la resolución, creación e
implementación de soluciones. Los métodos formales puntos de vista analíticos con los que es
posible verificar el desarrollo de sistemas mediante la lógica y las matemáticas, lo que aporta
grandes ventajas para mejorar la calidad de los programas. Los métodos nos ayudan a garantizar
la calidad del software.

Procesos: Se define como la serie de acciones que conducen a un final”. Esto va de la mano de
los métodos, ya que se busca privilegiar la calidad del software, esto se da teniendo un enfoque
industrial, ya que para garantizar la calidad de todos los sistemas que se desarrollen en una
empresa, se deben establecer procesos y procedimientos que sean de fácil implementación. Los
procesos permiten la estandarización y priman el aumento de producción mediante el uso de
mejores prácticas, estos procesos se aplican en todas las etapas del proceso de desarrollo; por
ejemplo, la implementación de un sistema requiere desde las pruebas alfa, beta, pruebas UAT y
soporte post implantación con una metodología especifica de acuerdo al tipo de software o sistema
que se esté implementando.

Enfoque de calidad: Al igual que cualquier sistema de control de calidad, el enfoque de calidad
refiere a la revisión periódica de los métodos, procesos y herramientas para asegurar que se
alcanzan los objetivos esperados y retroalimentar de manera que dichos procesos se perfeccionen
o se alcance un nivel de aceptación y estandarización suficiente para asegurar cada estándares de
calidad cada vez mas altos. Con un enfoque de calidad implementado en los trabajos donde se
desarrolla la ingeniería del software se mantendrá seguimiento y control sobre métricas
predefinidas antes de cada proyecto para poder medir la calidad de cada proyecto. Estas métricas
deben ser definidas antes de cada proyecto para poder medir el grado de calidad al final de cada
proyecto.

1.3 Explica 5 principios de la Ingeniería de software.

Rigor y formalidad: Con la finalidad de producir productos mas confiables y con menores costos,
se deben implementar principios como el rigor y la formalidad; se sugiere ser rigurosos en las
evaluaciones de los procesos que intervienen en la ingeniería del software. De acuerdo a la
literatura, se sugiere que un ingeniero de software tenga la capacidad de discernir el nivel de rigor y
formalidad que son necesarios para cada trabajo, este mismo rigor deberá de ser utilizado para
seguir o implementar las políticas de gobernabilidad o los métodos que se seguirán en todos los
Consorcio Clavijero

procesos de desarrollo, esto quiere decir, que no será necesario el mismo rigor para un desarrollo
de pequeña envergadura, pero si es necesario mantener la formalidad para poder mantener un
estándar de calidad adecuado a las políticas de la empresa.

Modularidad: Hoy en día, debido a la complejidad de los desarrollos de ingeniería de software, es


necesario dividir el trabajo en módulos, además de que estos módulos pueden ser reutilizados en
futuros desarrollos, también facilitan la detección de errores y permite trabajar o tratar de manera
aislada para evitar errores en otros módulos que ya hayan sido probados con anterioridad.
También es con la modularidad con lo que se puede dar orden a los desarrollos de grandes
dimensiones donde se puede asignar por equipos la realización de ciertos módulos mientras que
otro equipo se encarga del modulo principal el cual llamara a todos los demás módulos, esto nos
permite mantener el control del código y nos ayuda a identificar los responsables de cada uno de
estos.

Anticipación al cambio: Hoy en día, debido a la velocidad a la que se actualizan o surgen nuevos
softwares o hardware, es necesario anticiparnos en la medida de lo posible a estos cambios, para
alargar la vida de los desarrollos y disminuir los costos; esto se puede lograr planificando los
alcances de los proyectos, y calculando el crecimiento que este pueda tener; por ejemplo, un
software desarrollado como punto de ventas para una tienda donde únicamente se pueda hacer
compra y venta, se podrían planificar módulos de almacenes, sucursales, gestión de proveedores y
cartera de clientes, etc. Con esto se aseguraría un crecimiento y una duración mayor que al
satisfacer únicamente el punto de venta.

Generalidad: Esto se refiere al desarrollo de soluciones muy específicas, donde supone un alto
costo por ser desarrollos enfocados a ciertos negocios con poca penetración de mercado. Con esto
se busca el potencial de reusó en futuros proyectos para así disminuir costos en futuros
desarrollos, esto se puede lograr propiciando ambigüedad en el código para poder dar cabida a
mas soluciones en vez de limitarlo al algo muy especifico con restricciones que se orienten
únicamente en un solo sentido.
Por esto, se recomienda un amplio análisis antes de iniciar para determinar los problemas que se
quieren resolver y determinar las generalidades que puedan estar ocultas y así poder incluso
reutilizar partes o módulos de otros proyectos.

Incremento: También definido como principio de incrementabilidad, supone acercarse a la meta en


pequeños pasos, Esto es de vital importancia dado que al principio de algunos proyectos no se
conocen todos los requerimientos y estos son expuestos conforme se avanza con las soluciones;
como ejemplo tenemos las actualizaciones de las aplicaciones, las cuales en sus primeras
versiones son meramente la solución a algún problema sin enfocarse en la estética o en la facilidad
que suponga al usuario su uso, posterior a estas primeras versiones se crean entornos mas
amigables con el usuario debido a la retroalimentación que se reciba y se simplifican procesos o
flujos de trabajo que en un principio pudieran ser complejos y suponer altos costos de hardware,
software u horas hombre para capacitarse en el uso de dichos sistemas.

Bibliografía:

Serna, E. 2010. Universidad Católica Del Norte. Métodos formales e Ingeniería de


Software. Extraído de: https://www.redalyc.org/pdf/1942/194214476008.pdf.
Recuperado el 19 de julio del 2022
Consorcio Clavijero

Ruiz, F. s. f. Procesos de Ingeniería del Software. Extraído de:


https://www.ctr.unican.es/asignaturas/is1/is1-t02-trans.pdf. Recuperado el 19 de
julio de 2017.

Salim. J. (2010). Principios de la ingeniería del software. Jorge Salim Blog.


Extraído de: http://jorgesalim.blogspot.com/2010/02/principios-de-la-ingenieria-de-
software.html. Recuperado el 21 de julio de 2022.

Ghezzi, C. Jazayeri, M. 1991. Universidad de la Republica de Uruguay. “Principios


de la Ingeniería de Software”. Extraído de:
https://www.fing.edu.uy/tecnoinf/mvd/cursos/ingsoft/material/teorico/
PrincipiosIngenieriaSoftware.pdf. Recuperado el 21 de julio de 2022.

También podría gustarte