INSTITUTO TECNOLÓGICO
SUPERIOR DE SAN ANDRÉS
TUXTLA
INGENIERÍA INFORMÁTICA
Materia:
FUNDAMENTOS DE SISTEMAS DE INFORMACIÓN
Docente:
MARÍA DE LOS ÁNGELES PELAYO VAQUERO
Grupo:
310-A
Alumno:
LUIS ENRIQUE RIVAS CHAMPALA
U4
INVESTIGACIÓN
“paradigmas de la Ingeniería de Software con
enfoques de vanguardia”
INTRODUCCIÓN
Ingeniería de software es la disciplina o área de la informática que ofrece métodos
y técnicas para desarrollar y mantener software de calidad. Esta ingeniería trata
con áreas muy diversas de la informática y de las Ciencias de la Computación,
tales como construcción de compiladores, Sistemas Operativos, o desarrollos
Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo
de cualquier tipo de Sistema de Información y aplicables a infinidad de
áreas (negocios, investigación científica, medicina, producción, logística, banca,
control de tráfico, meteorología, derecho, Internet Intranet, etc.).
Un paradigma de la ingeniería de software es un modelo básico de diseño y
desarrollo de programas, que permite producir programas con directrices con
directrices específicas, tales como: estructura modular, fuerte cohesión, alta
rentabilidad, etc.
Hoy en día la ingeniería de software se e apremiada por los deseos de una
inmensa cantidad de usuarios finales que pretenden cada vez menores tiempos de
desarrollo, más disponibilidad, mayor adaptabilidad y personalización, menos
problemas, más facilidad de aprendizaje, más usabilidad, entre otras tantas
características.
La ingeniería de software surge de la ingeniería de sistemas y de hardware.
Abarca un conjunto de tres elementos que facilitan el control sobre el proceso de
desarrollo de software y suministran las bases para construir software de calidad
de una forma productiva: Métodos, Herramientas y Procedimientos.
Objetivo de la Investigación
Conocer los diferentes paradigmas que se pueden encontrar en la ingeniería de
software, pero con enfoque de vanguardia
Paradigmas de la Ingeniería de Software con enfoques de
vanguardia
La ingeniería de software es reconocida como una disciplina legítima, digna de
tener una investigación seria, un estudio cuidadoso y generando controversias.
Los modelos de procesos de software, métodos de ingeniería de software y sus
herramientas se han adoptado con éxito en el amplio espectro de las aplicaciones
industriales, los gestores y usuarios reconocen la necesidad de un enfoque más
disciplinado del software. [1]
Existen diversas tendencias dentro de la ingeniería de software entre estas
se encuentran la programación orientada a objetos, las herramientas CAS y
también de estas derivan los IDE (Entorno de Desarrollo Integrado), todas estas
tendencias se utilizan para hacer más fácil el trabajo del programador y los
programas sean de mayor calidad, enfrentando así las cuestiones siguientes:
Complejidad, capacidad de diseño, flexibilidad, rapidez de desarrollo, facilidad de
modificación y confiabilidad. [2]
Un paradigma de programación es un modelo básico de diseño y desarrollo
de programas, que permite producir programas con una directriz específica, tales
como: estructura modular, fuerte cohesión, alta rentabilidad, etc. Existen tres
categorías de paradigmas de programación:
a) Los que soportan técnicas de programación de bajo nivel (ejemplo: copia
de ficheros frente estructuras de datos compartidos.
b) Los que soportan métodos de diseño de algoritmos (ejemplo: divide y
vencerás, programación dinámica, etc.)
c) Los que soportan soluciones de programación de alto nivel, como los
descritos en el punto anterior
Los paradigmas relacionados con la programación de alto nivel se agrupan en tres
categorías de acuerdo con la solución que aportan para resolver el problema:
a) Solución procedimental u operacional. Describe etapa a etapa el modo de
construir la solución. Es decir, señala la forma de obtener la solución.
b) Solución demostrativa. Es una variante de la procedimental. Especifica la
solución describiendo ejemplos y permitiendo que el sistema generalice la
solución de estos ejemplos para otros casos. Aunque es
fundamentalmente procedimental, el hecho de producir resultados muy
diferentes a ésta, hace que sea tratada como una categoría separada.
c) c) Solución declarativa. Señala las características que debe tener la
solución, sin describir cómo procesarla. Es decir, señala qué se desea
obtener, pero no cómo obtenerlo
Enfoque Estructurado
Un diagrama de flujo de datos (DFD) es una representación gráfica de los
procesos que se realizan con los datos en su organización, con el uso de tan solo
cuatro símbolos, se puede crear una descripción grafica de los procesos que, con
el tiempo, contribuirán a desarrollar una sólida documentación del sistema. En
seguida mencionan las ventajas sobre las explicaciones descriptivas en relación
con la forma en que los datos se mueven a través del sistema:
1. Libertad para emprender la implementación técnica del sistema en las
primeras etapas.
2. Comprensión más profunda de la interrelación entre sistemas y
subsistemas.
3. Comunicación con los usuarios sobre el conocimiento del sistema actual
mediante diagramas de flujos de datos.
4. Análisis de un sistema propuesto para determinar si se han definido los
datos y procesos necesarios.
La ventaja más grande es la libertad conceptual para utilizar los cuatro símbolos,
los DFD’s hacen énfasis en el procesamiento o la transformación conforme estos
pasan por una variedad de procesos. En los DFD’s lógicos no hay distinción entre
procesos manuales o automatizados. Los procesos tampoco se representan
gráficamente en orden cronológico. En vez de ello, se agrupan solo si el análisis
detallado dicta que tiene sentido hacerlo. Los procesos manuales se agrupan, y
los procesos automatizados también se pueden agrupar.
Simbología
En los diagramas de flujos de datos se usan
cuatro símbolos básicos para graficar el
movimiento de los datos: Un cuadrado doble,
una flecha, un rectángulo con esquinas
redondeadas (o una burbuja) y un rectángulo
abierto (cerrado en el lado izquierdo y abierto
en el derecho). Con la combinación de estos
cuatro símbolos se puede describir
gráficamente un sistema completo y varios subsistemas.
El cuadrado doble se usa para describir una entidad externa (otro
departamento, un negocio, una persona o una maquina) que puede enviar datos al
sistema o recibirlos de él. La entidad externa, o solo entidad, también se llama
origen o destino de datos, y se considera externa al sistema descrito. A cada
entidad se le asigna un nombre adecuado. Aunque interactúa con el sistema, se
considera fuera de los límites de este. La misma entidad se podría usar más de
una vez en un diagrama de flujo de datos en particular para evitar que las líneas
se crucen en el flujo de datos.
La flecha muestra el movimiento de los datos de un punto a otro, con la
punta de la flecha señalando hacia el destino de los datos. Los flujos de datos que
ocurren simultáneamente se pueden describir mediante flechas paralelas. Una
flecha también puede se debe describir con un nombre, debido a que representan
los datos de un apersona, lugar o cosa.
Rectángulo con esquinas redondeadas se usa para mostrar la
presencia de un proceso de transformación. Los procesos siempre denotan
un cambio en los datos o una transformación de estos; por lo tanto, el flujo de
datos que sale de un proceso siempre se designa de forma diferente al que entra
en el. Los procesos representan trabajo que se realiza en el tema.
El rectángulo abierto representa un almacén de datos. Estos símbolos se
dibujan con el espacio suficiente para que quepan las letras de identificación. En
los diagramas de flujo de datos lógicos no se especifica el tipo de almacenamiento
a un lugar. En este punto el símbolo del almacén de datos simplemente muestra
un lugar de depósito para los datos que permite examinar, agregar y recuperar
datos
Enfoque orientado a objetos
La orientación a objetos puede describirse como el conjunto de disciplinas que
desarrollan y modernizan software que facilitan la construcción de sistemas
complejos a partir de componentes. El atractivo intuitivo de la orientación a objetos
es que proporciona conceptos y herramientas con las cuales se modela y
representa el mundo real tan fielmente como sea posible. Estos conceptos y
herramientas orientados a objetos son tecnologías que permiten que los
problemas del mundo real sean expresados de modo fácil y natural.
Las técnicas orientadas a objetos proporcionan mejoras y metodologías
para construir sistemas de software complejos a partir de unidades de software
modula rizado y reutilizable. Se necesita un nuevo enfoque para construir
software en la actualidad. Este nuevo enfoque debe ser capaz de manipular tanto
sistemas grandes como pequeños y debe crear sistemas fiables que sean
flexibles, sustentable y capaces de evolucionar para cumplir las necesidades del
cambio. La orientación a objetos trata de cubrir las necesidades de los usuarios
finales, así como las propias de los desarrolladores de productos software.
Como ejemplo, puede crear una clase que defina a un cliente. Después
puede crear una nueva instancia de la clase cliente para tener un objeto utilizable
de Cliente. Para poder crear un objeto de la clase cliente, debe crear una nueva
instancia basada en esa clase. Todos los objetos están compuestos de tres
cosas:
Interfaz: La Interfaz es el conjunto de métodos, propiedades, eventos y atributos
que se declaran como públicos en su alcance y que pueden invocar los programas
escritos para usar nuestro objeto.
Implementación: Al código dentro de los métodos se le llaman Implementación.
Algunas veces también se le llama comportamiento, ya que este código es el que
efectivamente logra que el objeto haga un trabajo útil. Es importante entender que
las aplicaciones del cliente pueden utilizar nuestro objeto, aunque cambiemos la
implementación, siempre que no cambiemos la interfaz. Siempre que se
mantengan sin cambio nuestro nombre de método, su lista de parámetro y el tipo
de datos de devolución, podremos cambiar la implementación totalmente.
Estado: El estado o los datos de un objeto es lo que lo hace diferente de otros
objetos de la misma clase. El estado se describe a través de las variables del
miembro o de la Instancia. Las variables del miembro son aquellas declaradas, de
tal manera que están disponibles para todo el código dentro de la clase. Por lo
general, las variables del miembro son Privadas en su alcance. Algunas veces, se
les conoce como variables de la instancia o como atributos. Observe que las
propiedades no son variables del Miembro, ya que son un tipo de método que
funciona para recuperar y establecer valores.
Análisis
El modelo de análisis se extiende luego para describir la manera en que
interactúan los actores y el sistema para manipular el modelo del dominio de
aplicación. Los desarrolladores usan el modelo de análisis, junto con los
requerimientos no funcionales, para preparar la arquitectura del sistema que se
desarrolla durante el diseño de alto nivel. Las actividades del análisis: la
identificación de objetos, su comportamiento, sus relaciones, su clasificación y su
organización.
El modelo de análisis está compuesto por tres modelos individuales: el
modelo funcional, representado por casos de uso y escenarios, el modelo de
objetos de análisis, representado por diagramas de clase y objeto, y el modelo
dinámico, representado por gráficas de estado y diagramas de secuencia.
CONCLUSIÓN
Puedo concluir diciendo que la Ingeniería de Software es reconocida como una
disciplina legítima, digna de tener una investigación sería, un estudió cuidadoso y
ha generado una gran controversia. En la industria el Ingeniero del software ha
sustituido al programador como título de trabajó preferente. Los modelos de
procesos de software, métodos de ingeniería de software y herramientas se han
adaptado con éxito en el amplio espectro de las aplicaciones industriales. Los
gestores y usuarios reconocen la necesidad de un enfoque más disciplinado del
software.
El objetivo principal de la ingeniería en software es el convertir el desarrollo
de software en un proceso formal mediante técnicas estructuradas a través de
métodos de ingeniería, todo ello con resultados predecibles que permitan tener un
producto final de alta calidad y satisfaciendo así las necesidades y expectativas
del cliente el cual abarca la captura de requerimientos, diseño, desarrollo, pruebas
y mantenimiento.
Bibliografía
[1] M. F. Moises, «paradigmas de la ingeniería,» [En línea]. Available:
https://www.studocu.com/latam/document/universidad-iberoamericana/
matematica-financiera/invesigacion-equipo-4-enfoques-de-vanguardia/11860030.
[Último acceso: 09 diciembre 2022].
[2] Á. Jaime, «Prezi.com,» 20 Junio 2018. [En línea]. Available:
https://prezi.com/hdvmweoa2mbd/43-enfoques-de-vanguardia/. [Último acceso: 09
diciembre 2022].